为了账号安全,请及时绑定邮箱和手机立即绑定

git fetch和git merge远端分支的问题

git fetch和git merge远端分支的问题

holdtom 2019-10-16 08:59:49
因为使用git不久。同事教我的更新远端分支并merge的方法是:先执行gitfetch,然后在自己的分支执行gitmergeorigin/同事分支。这样来更新合并。百度了下gitfetch是将远端的所有分支更新到本地的FETCH_HEAD,但为啥merge的时候仍然是merge的远端的origin/同事分支,而不是merge的FETCH_HEAD?gitfetch更新所有分支到本地FETCH_HEAD,感觉也没用啥作用,还是要执行gitmergeorigin/同事分支来merge远程分支啊。那么gitfetch为啥不能省略呢?
查看完整描述

2 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

只有gitfetch真正读取远程的分支,然后在本地创建远程分支的一个拷贝。这个拷贝的名字叫origin/同事分支。
gitmerge只是在操作远程分支在本地的一个拷贝。
                            
查看完整回答
反对 回复 2019-10-16
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

远程跟踪分支是远程分支状态的引用,它们以(remote)/(branch)形式命名。
通常最好不要手动的移动它们,当你做任何网络通信操作时,它们会自动移动,比如我们使用的gitfetch命令。
使用gitfetch命令会从指定远程抓取本地没有的数据,并且更新本地数据库,移动本地的远程指针指向新的、更新后的位置。
需要注意的一点就是当抓取到新的远程跟踪分支时,本地不会自动生成一份可编辑的副本(拷贝)。
从另一方面来说它并不会修改工作目录中的内容,而只会获取数据然后让你自己合并。
如果你想省略合并的步骤的话,大多数情况下你可以使用gitpull命令,它工作的像是先使用gitfetch后紧接着一个gitmerge命令。
                            
查看完整回答
反对 回复 2019-10-16
  • 2 回答
  • 0 关注
  • 460 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信