2013-08-03 10 views
132

--set-upstreamは何をしますか?私はmanualを読んでそれを理解しようとしましたが、それほど得られませんでした。'--set-upstream'は何をしますか?

誰かが説明できますか?

+2

は、新しいオプション 'があり、同一の構文と動作とのより詳細な--set-upstream-toオプションの賛成でこのややあいまいな--set-upstreamオプションを廃止しますset-upstreamの混乱(IIRC)のために導入された--set-upstream-to' –

答えて

155

git branch --set-upstream <remote-branch>
は、現在のローカルブランチのデフォルトのリモートブランチを設定します。

(現在のローカルブランチにチェックアウト付き)どれでも将来git pullコマンド、
は持ち込む現在のローカルブランチに<remote-branch>からコミットしようとします。明示的--set-upstreamを実行することを避けるために


一つの方法は、

git push -u origin local-branch

を次のように
これは、いずれかの上流の関連付けを設定する非常に最初git push沿っ-と略記フラグ-uを使用することです将来のプッシュ/プルの試みは自動的に行われます。
詳しくは、detailed explanation about upstream branches and trackingをご確認ください。


混乱を避けるために、gitの最近のバージョンは

git branch --set-upstream-to <remote-branch> 
+0

+1。参照:http://stackoverflow.com/q/17096311/6309 – VonC

+3

--set-upstreamフラグは廃止され、削除されます。このコマンドで--trackまたは--set-upstream- –

+0

を使うことを考えてください。 'git push -u origin local-branch'' origin 'は何を表していますか? '-u'の後に' origin'以外のものを入力するケースはありますか? –

19

リモートにプッシュし、--set-upstreamフラグを使用すると、押しているブランチを、押しているブランチのリモートトラッキングブランチとして設定します。

リモートトラッキングブランチを追加すると、将来、git fetchgit pull、またはgit pushのときに実行したいことがわかります。ローカルブランチとリモートブランチを同期させたままにしておき、これを達成するために適切なことを行うことを前提としています。

git branch --set-upstreamまたはgit checkout --trackと同じことを達成できます。詳細については、tracking branchesのgitヘルプページを参照してください。

関連する問題