即使该分支已过时,GIT仍允许该分支合并到中央仓库中(其他人已将更改提交给master,而master尚未更新到合并的分支中)
与此同时,另一个开发人员B通过其分支“ BugFix_B”将新的提交合并到中央主分支。
这意味着开发人员A分支“ BugFix_A”在其分支“ BugFix_A”的本地副本上尚未具有这些新提交。开发人员A(未意识到新的提交是在中央回购母版中进行的)执行“ git push origin BugFix_A
”我的理解是,由于存在冲突,git必须拒绝此推送(他的分支BugFix_A确实保存了新提交,但令人惊讶的是,推送成功完成了。
第二个问题是git还允许在中央存储库上将分支BugFix_A合并到master中,从而覆盖开发人员B执行的提交
此工作流程是否存在任何问题。我确定我做错了。
graphical representation of master branch being overwritten by outdated branch
答案 0 :(得分:0)
git push
在起源上创建了一个新分支,称为“ origin / BugFix_A”。使用在“ BugFix_A”中所做的更改,主文件上的合并更新文件“ FileA.txt”。只要这些更改不影响“ BugFix_B”的行,您的更改将应用于主行的相应行。
如果“ BugFix_A”影响到被“ BugFix_B”更改的行,则将发生合并冲突,您需要通过将母版合并到“ BugFix_A”中进行修复,在此处解决然后再次尝试合并到母版。