Git提交/合并丢失的代码,从其他人的提交中恢复代码

时间:2018-12-20 11:24:21

标签: git azure-devops git-merge

我们刚刚开始使用Azure Devops,并且一直在使用git repo来管理代码。自迁移以来的过去两周,我们有许多开发人员将代码提交到存储库中,并且注意到有时我们会收到一次提交,该提交将文件还原到以前的状态。

例如,如果开发人员A和B提交代码,然后开发人员C提交,则开发人员C将获得合并提交,并且在该提交中,我们看到A,B中的代码被还原。

开发人员在提交之前进行git pull,因此在提交之前,他们应该与远程服务器保持最新。

我们看到的还原更改的合并提交的标题类似于

将xxx的分支“开发”合并为开发

能否请您帮助我了解导致此问题的原因以及如何最好地解决它?是否有使用git工具在Visual Studio中提交代码的推荐方法?

谢谢 艾玛·辛格(Amar Singh)

1 个答案:

答案 0 :(得分:0)

感谢您回复torek。您是正确的,这是一个合并冲突问题。在我问这个问题之前,我们一直怀疑它是一个合并冲突处理问题,但不明白为什么在随后的合并中显示了该还原。

这就是我们的情况:

Dev A,B提交,然后Dev C陷入合并冲突。然后,他们合并更改,但不进行A,B工作的阶段,仅将其阶段进行。这导致提交仅显示Dev C的更改,但在幕后,git还原了A,B的更改(此时可见

然后,Dev D执行本地提交和git pull。这将导致创建第二个提交(“合并提交”)。标记为

将xxx的分支“开发”合并为开发

当开发D向上推送两个提交时,“合并分支”提交实际上显示了A,B中正在还原的更改。乍一看,似乎Dev D做错了事,但实际上是Dev C。

因此,我们将给开发人员的信息是谨慎处理合并冲突,而不是撤消任何人的工作。

谢谢您的解释。