2012-06-22 13 views
6

git pullgit pushを1つのgitコマンドに含めることはできますか?git pullとgit pushを一度に実行する

git pull & git pushのような構文は、サーバーに自分の資格情報を2度提供する必要があるため、完全に私に合っていません。プルとプッシュで。

私は疑問に思っていますが、このための回避策はありますか?開発者がローカルの変更をプッシュする前にリモートの起源を引き出すのはかなり一般的なケースだから、そうすべきだと私は信じています。ここで私は、Windows 7/x64のを使用しています、msysgit-UTF8 1.7.9

+1

マージ競合がないと危険ですか? –

+1

プロトコルは何ですか?資格情報をセッションごとに1回だけ提供する方法があります。 – CharlesB

+3

しないでください。公開鍵認証を設定するか、できるだけプロトコルを変更してください。 – wadesworld

答えて

4

まず第一に、あなたはGitリポジトリによって使用される_netrcファイルを設定することができ、関連する問題:

EDITGit - How to use .netrc file on windows to save user and password その後、コマンドのエイリアスを設定することができます。

git config alias.publish '!git pull && git push'` 

そして、ちょうどタイプ:git publish

+0

@記号を使用してリポジトリのURLにログインを追加できますセパレータとして。また、パスワードを '.git/config'に追加することもできます。しかし私は自分のパスワードを保存したくない。私はパスワードで尋ねられるのが好きです。しかし、一度だけ! – shytikov

+0

この '.netrc'ソリューションはssh接続では動作しません。 – shytikov

+0

.git/configにログインとパスワードを追加する必要はありません。それは間違った方法です。 ssh接続を使用している場合は、そのために公開鍵を使用しない方がよいでしょう。認証情報によるhttps接続では、ウィンドウ内で_netrcファイルを使用できますが、ドットの代わりにファイル名の下線に注意してください。 – lisachenko

0

私はこのケースでは、単に迅速かつ汚い何かをお勧めします。それを行うのが最も効率的な方法ではないかもしれませんが、コマンドでvimにbashスクリプトを作成し、コマンドの単純さを考慮して実行します。次に、同時に引っ張って押したいときはいつでもそのファイルを開くことができます。

あなたがしなければならないのは、ファイルを作成し、書きたい2行のコマンドを入力し、実行するときは常にそのファイル名をコマンドラインに入力することです。

また、最も効率的な方法ではなく、すばやく修正できます。

+0

これは二重認証の状況を修正しません...それが問題です。 'git pull&git push 'と入力するのは気にならない。パスワードを2回入力する必要はありません。なぜなら、これを最適化する必要があるからです。しかし、私はまだそれを発見していない... – shytikov

0

方が良いSSHを使用したいが、あなたはSSHを使用できない場合、あなたは常にあなたが二回でそれを入力する必要はありませんので、パスワードを保存するためにWindows資格情報ストアを使用することができます。

git config --global credential.helper wincred 

ソース:Git documentation

関連する問題