在像$ 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
并使所有分支都有更新,...被拉下来?
答案 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
一旦意识到这只是一个指针,事情就变得更加清晰了。
干杯!