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

关于Git的问题,文件互相覆盖问题

关于Git的问题,文件互相覆盖问题

HUX布斯 2019-05-13 09:11:42
问题1:用户A和B,文件a,同一个branch用户A先pull(时间为12:00),再编辑文件a,再commit和push,push时间为13:00用户B先pull(时间为12:00),再编辑文件a,再commit和push,push时间为13:01请问最后repo里面的文件a完全是用户B的,还是两位用户共同的修改成果都存在?问题2用户A和B,文件b,同一个branch用户B提交了一个修改文件b的commit和push(时间为14:00)用户A开始pull(时间为14:01),但是发现报错了,提示本地有commit未同步,于是把手头的文件b的修改commit掉,然后再pull,成功,然后再merge,最后push出去请问此时repo里面的文件b,有没有包含了用户A和B两个人的修改成果?
查看完整描述

2 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

问题1都有问题2,看不懂
用户B提交了一个修改文件b的commit和pull(时间为14:00)
这里是pull?我怎么觉得是pushOK,如果这里是pull,那B的commit没有push,那那么Apullcommitmergepush,最后远端是只有A的
这些前提是a和b改的代码不冲突,如果冲突了,改了同一片代码块,就以问题1为例,B在14.01分push的时候会先提示你有新的push要先pull下来(这是正常的,不管冲不冲突都会有,我猜你可能忘写了),B在pull下来后会报冲突,要修复了这个冲突(比如修改冲突的代码块),让才能成功push
                            
查看完整回答
反对 回复 2019-05-13
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

问题1:
用户B会push出错,原因是repo的提交已经领先B本地的仓库。解决方法如你的问题2,B需要先pull,合并后再push
问题2:
repo最后是B合并后的结果
其实,这种问题,自己动手操作一下会了解的更清晰
                            
查看完整回答
反对 回复 2019-05-13
  • 2 回答
  • 0 关注
  • 302 浏览
慕课专栏
更多

添加回答

举报

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