Git最佳实践:获取本地未跟踪的分支列表

时间:2017-03-07 09:13:05

标签: git

我有一个关于如何在远程存储库上获取新分支的问题。

我知道(至少)有两种方法可以继续:

  • git pull:拉出当前工作分支(获取+合并)并获取新分支列表
  • git branch -r后跟git branch --track theBranch origin/theBranch:跟踪新分支

是否有推荐的方法(由于行为不同)?

2 个答案:

答案 0 :(得分:3)

我不确定是否一定有推荐的方法可以继续,因为这两个选项中的每一个都有不同的用途并且具有不同的用例。

执行git pull将获取所有新的远程跟踪分支,以及更新现有分支,并应列出至少进入的新分支。但它实际上并没有创建任何新的本地分支机构。

执行git branch -r会列出所有远程跟踪分支,但实际上并未使用远程任何新信息更新它们。命令

git branch --track theBranch origin/theBranch

将创建一个名为theBranch的新本地分支,该分支跟踪具有相同名称的远程跟踪分支。如果您要执行以下操作,这将是相同的行为:

git checkout origin/theBranch
git checkout -b theBranch

您选择使用哪个选项取决于您的目标。如果您只是想更新远程跟踪分支并可能列出任何新分支,那么执行git fetch(或git pull)是令人满意的。如果你想创建一个新分支,那么你的第二个选项,或我给出的选项,就是你要走的路。

答案 1 :(得分:1)

正如@Tim Biegeleisen在他的回答中提到的那样,你想要遵循哪种方法完全取决于你。

我按照git pull --rebase实际使用远程修改我的本地分支并在其上提交我的本地更改,而不是git fetch,后跟git merge FETCH_HEAD。< / p>