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

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

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

蓝山帝景 2018-07-05 12:24:47
问题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 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

问题 1:

用户B 会 push 出错,原因是 repo 的提交已经领先 B 本地的仓库。解决方法如你的问题 2,B 需要先 pull,合并后再 push

问题 2:

repo 最后是 B 合并后的结果


其实,这种问题,自己动手操作一下会了解的更清晰


查看完整回答
反对 回复 2018-07-11
?
犯罪嫌疑人X

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

问题1 都有
问题2,看不懂

用户B提交了一个修改文件b的commit和pull(时间为14:00)

这里是pull?我怎么觉得是push
OK,如果这里是pull,那B的commit没有push,那那么A pull commit merge push ,最后远端是只有A的

这些前提是a和b改的代码不冲突,如果冲突了,改了同一片代码块,就以问题1为例,B在14.01分push的时候会先提示你有新的push要先pull下来(这是正常的,不管冲不冲突都会有,我猜你可能忘写了),B在pull下来后会报冲突,要修复了这个冲突(比如修改冲突的代码块),让才能成功push


查看完整回答
反对 回复 2018-07-11
  • 2 回答
  • 0 关注
  • 1041 浏览

添加回答

举报

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