level 2
提问:大佬们,求问我拉取远程feature1分支到本地,修改了文件a,然后直接add,commit,push三连提交;同事在此时merge了其他分支的代码到feature1,我未拉取;
我的理解里如果a文件有修改,我直接会push失败,然后必须去重新拉取;
如果单次merge 没有a的修改,我会push上去,并不会覆盖到merge后的其他文件。
但同事认为我push前未pull 覆盖到了他在merge里的代码,我该背这个锅吗?
2019年04月15日 12点04分
1
level 2
补充,我认为push时未加—force命令,本地与远程不同,git会阻止这次推送,之所以最好先pull是为了在本地更好的解决冲突。但同事坚持认为省略pull就push;覆盖到了他的代码,而且文件不同都会有问题,弄得有些僵
2019年04月15日 12点04分
2
level 1
你说的此时是什么时候,是你三连之前还是之后,要搞清楚他merga到底有没有修改该a文件啊,还要搞清楚push是不是会覆盖所有的,找个专家问问,push之前最好pull一下,这都是常规操作,先add stash 然后pull stash apply 解决完冲突 push
2019年04月26日 02点04分
4
level 1
这么说吧,
你从feature1的 commit id 1开始开发
他在你以前,merge成了 commit id 2,
你push 3连会失败,理由是remote should pull before push,
如果你push三连是成功的,说明他的merge是还未执行的,仅仅是开了一个pr,这个时候pr merge,不会merge到1,而是merge到你push以后的commit id上。
你说到冲突的问题,如果没有报冲突,你俩的合并都是健康的,如果有冲突,那也是他应该在pr时,merge以前会提示冲突,sourcetree会推送你的commit,他必须pull再重新开一个pr。
为什么她会说你背锅?
很简单,你和他都要操作这个feature,你凭什么直接push,
一个公共的分支,只能通过pr来合并,除非你知晓多人的冲突如何解决,并且觉得这些冲突无碍观zhan,至于楼上的1级小号,你入职了吗,在这里跟我纸上谈兵呢
2019年05月17日 09点05分
7