git fetch之后更新本地分支

时间:2020-07-28 09:38:15

标签: git

在像$ git fetch origin -a这样的命令之后

我可以阅读这样的日志:

remote: Counting objects: 43, done.
remote: Compressing objects: 100% (43/43), done.
remote: Total 43 (delta 21), reused 0 (delta 0)
Unpacking objects: 100% (43/43), done.
From https://bitbucket.org/...
   e51234feb..212348ca85  feature/PROJCT-1234 -> origin/feature/PROJCT-1234
   d6d123403..ee501234a  master                -> origin/master

在每次运行后获取

git rebase master

控制台返回

Current branch feature/PROJCT-1234 is up to date.

但是如果我跑步

git rebase origin/master

变基完成工作。

问题是。为了避免每次都输入origin/...。有没有一种方法可以git fetch origin并使所有分支都有更新,...被拉下来?

2 个答案:

答案 0 :(得分:1)

如果您要更新的是master,请执行以下操作:

git pull
#or
git pull -r

如果要在其他分支上工作时更新master,请执行以下操作:

git fetch origin master:master

没有直接方法来更新所有本地分支。原理很简单:您应该能够检查从远程存储库中获取的内容。 任何本地分支更新都应仅在您知道的请求上执行,以免造成混乱。

答案 1 :(得分:0)

您只需要合并 origin / master 就是 master 之类的另一个分支。

git fetch将更新 origin / master ,然后将git合并(或变基)到 master

简而言之

// sitting on master
git fetch

//useful to inspect changes before actually applying
git diff origin/master 

git merge origin/master

或者,上述提取/合并的快捷方式是拉取。 请注意,由于获取操作会将源/主服务器合并到主服务器上,因此存在陷阱,如果不是fastforwad合并,则会在您的历史记录中从主服务器到主服务器合并。

https://git-scm.com/docs/git-merge#_fast_forward_merge

您可以在这里找到有关分支机构的好演讲-> https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging

一旦意识到这只是一个指针,事情就变得更加清晰了。

干杯!

相关问题