git fetch
- git fetch命令用于从另一个存储库下载对象和引用。
- git fetch可以从单个命名的存储库或URL中获取,也可以从多个存储库中获取,如果给定了,并且配置文件中有一个远程条目
拉取远程所有分支。
git fetch origin 上述命令从远程refs/heads/命名空间复制所有分支, 并将它们存储到本地的 refs/remotes/ origin/命名空间中, 除非使用分支.<name>.fetch选项来指定非默认的refspec
可以合并远程到本地
git fetch origin +pu:pu maint:tmp 此更新(或根据需要创建)通过从远程存储库的分支(分别)pu和maint提取来分支本地存储库中的pu和tmp。 即使没有快进,pu分支将被更新,因为它的前缀是加号; tmp不会。
通过远程分支和本地分支比较合并代码。
git fetch <remoteBranch> <localBranch> git checkout -b newBranch origin/master 取回远程的某一个分支, 你可以在本地新建一个分支,来合并指定的远程分支的代码。 或者 git diff localBranch (git log -p localBranch origin/remoteBranch) git merge localBranch 取回远程分支到本地的指定分支上,但是并不直接merge,而是先比较2个分支,在决定是 否合并分支。
其实,fetch和pull的区别就是,前者可以先拉去远程分支到本地,你可以查看比较后,在做决定,而后者则是执行了fetch +merge 强行合并了2个分支(fast-forward)。 其实还是fetch+diff+merge 比较好一点。