git branch --set-upstream-to
とgit remote add Origin
、さらにはgit remote add upstream
の違いを知るのは少し混乱します。
基本的に、ネットワーク上で共有されるgit init --bare
で作成されたベアリポジトリがあり、他の開発者もそれにプッシュして、プロジェクトのバージョンを設定できますローカルが、どのコマンドを実行する必要があるかわかりません上記の3つのうち(または他にある場合)、その中央リポジトリを追跡します。たとえば、すべてのプロジェクトから中央のベアリポジトリに変更をプッシュし、そこからプル/フェッチします。
誰かがこれについて啓発できますか?
git remote add
は、別のリポジトリの省略名であるリモートを作成します。 git branch --set-upstream-to
は、指定されたリモートリポジトリ内のブランチによって追跡されるブランチを設定します。
あなたがしたいのは、リモートブランチを追跡することです。これはgit branch --set-upstream-to
またはもっと単純にgit branch -u
で行われます。
別のリポジトリからクローンを作成すると、Origin
という名前のリモートが作成され、ブランチmaster
がチェックアウトされます。ローカルブランチマスターにリモートブランチマスターを追跡させるコマンドはgit branch -u Origin/master
であり、ローカルマスターブランチから実行されます。
set-upstream-to
を使用してリモート追跡ブランチを設定するには、リモートリポジトリを定義する必要があります。
開発者がベアリポジトリのクローンを作成しているとき、Origin
という名前のリモートが自動的に定義されます。つまり、各ローカルクローンで、git remote -v
は、ベアリポジトリを参照するOrigin
という名前のリモートリポジトリを一覧表示します。 upstream
という名前のリモートを定義する必要はありません。
ただし、それは、そのリモートからのすべてのブランチがローカルブランチによって追跡されることを意味するわけではありません。
そこでgit branch --set-upstream-to
が活躍します。