2017-03-07 12 views
4

リモートブランチで新しいブランチを入手する方法について質問があります。Gitのベストプラクティス:ローカルで追跡されないブランチのリストを取得する

  • git pullを::

    は、私は続行する(少なくとも)2つの方法があります知っている(+マージフェッチ)現在の作業ブランチを引き、git branch --track theBranch origin/theBranch続く新しい支店

  • git branch -rのリストを取得します:新しいブランチ

が(理由の行動の違いを)進めるための推奨方法はあり追跡?

答えて

3

2つのオプションのそれぞれが異なるため、さまざまなユースケースがあるため、必ず進めることをお勧めします。

git pullを実行すると、新しいリモートトラッキングブランチをすべて取得し、既存のトラッキングブランチを更新するだけでなく、少なくとも新しいブランチをリストする必要があります。しかし、実際には新しいローカル支店は作成されません。

Doing git branch -rは、すべてのリモート追跡ブランチを一覧表示しますが、実際にリモートの新しい追跡情報を更新することはありません。コマンド

git branch --track theBranch origin/theBranch 

は同じ名を冠したリモート追跡ブランチを追跡theBranchと呼ばれる新しいローカルブランチを作成します。これは、次の操作を行う場合と同じ動作になります。

git checkout origin/theBranch 
git checkout -b theBranch 

使用するオプションは、目的によって異なります。リモートトラッキングブランチを更新し、新しいブランチを登録したい場合は、git fetch(またはgit pull)を実行するだけで十分です。新しいブランチを作成したい場合は、2番目のオプション、または私が与えたオプションが、行く方法です。

+0

「git checkout theBranch」は、私の意見では、これを行う最も簡単な方法です。 – 1615903

1

@Tim Biegeleisenが彼の答えで言いましたように、どのアプローチがあなたに従いたいと思っていますか?

私は実際にはリモートで自分のローカルブランチをリベースしてgit merge FETCH_HEAD続いgit fetchである代わりにgit pullのそれの上に私のローカルな変更をコミットgit pull --rebaseに従ってください。

関連する問題