我有一个关于如何在远程存储库上获取新分支的问题。
我知道(至少)有两种方法可以继续:
git pull
:拉出当前工作分支(获取+合并)并获取新分支列表git branch -r
后跟git branch --track theBranch origin/theBranch
:跟踪新分支是否有推荐的方法(由于行为不同)?
答案 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>