1. ホーム
  2. git

[解決済み] Git フェッチ リモートブランチ

2022-03-10 15:23:38

質問

同僚と私は同じリポジトリで作業しています。私たちはそれを2つのブランチに分け、それぞれ技術的には異なるプロジェクトのために使用していますが、それらは類似しているので、私たちは時々、*にコミットして戻したいと思うでしょう。 master から branch .

しかし、私は branch . 私の同僚は、具体的にどのようにそのブランチをプルできますか?

A git clone を実行しても、ローカルにブランチが作成されないようですが、私のほうでプッシュすると unfuddle でブランチが表示されます。

また、もともとブランチを作ったときに -b checkout . これは大きな違いなのでしょうか?

$ git branch -r
origin/HEAD -> origin/master
origin/daves_branch
origin/discover
origin/master

$ git fetch origin discover
$ git checkout discover

以上が、私が実行したコマンドです。しかし、それは間違いなく動作していません。

そのブランチをチェックアウトして、様々な共同作業者やワークステーションからブランチの変更だけをプッシュしてコミットバックできるようにしたいのです .

解決方法は?

更新:Gitスイッチの使用

以下に書かれている情報はすべて正確でしたが、新しいコマンドが追加されました。 git switch が追加され、作業が簡略化されました。

もし daves_branch がリモートリポジトリに存在し、ローカルブランチに存在しない場合は、単に次のように入力します。

git switch daves_branch

ローカルにブランチがないため、これは自動的に switch はリモートリポを探します。 そして、リモートブランチの追跡も自動的に設定されます。

なお、もし daves_branch がローカルに存在しない場合は git fetch を使う前に、まず switch .


オリジナル記事

リモートブランチを追跡するローカルブランチを作成する必要があります。次のコマンドを実行すると、ローカルブランチ daves_branch リモートブランチを追跡する オリジン/デイヴス_ブランチ . 変更をプッシュすると、リモートブランチが更新されます。

Gitの最新バージョンに対応。

git checkout --track origin/daves_branch

--track の略記です。 git checkout -b [branch] [remotename]/[branch] ここで、[remotename] は オリジン この場合、[branch]は2回同じです。 daves_branch この場合

Git 1.5.6.5では、これが必要でした。

git checkout --track -b daves_branch origin/daves_branch

Git 1.7.2.3 以降では、これで十分です(もっと前から始まっていたかもしれませんが、私がすぐに見つけられた最も古い確認です)。

git checkout daves_branch

最近の Git のバージョンでは、このコマンドはローカルブランチを作成せず、'detached HEAD' 状態になることに注意しましょう。ローカルブランチを作成したい場合は --track オプションで指定します。

詳細はこちら 3.5 Git のブランチ - リモートブランチ、ブランチのトラッキング