我在Visual Studio中使用git。我合并了两个分支,发生了一些冲突。 Visual Studio自动删除了两个文件而没有任何确认。如何在尝试自动解决冲突时阻止VS删除文件。
答案 0 :(得分:3)
Visual Studio没有删除这些文件;它们已被删除。您挑选了两个状态为"由我们删除的文件"。这意味着在您的HEAD分支中,该文件已被删除,并且尚未在您合并的分支中进行修改。这不是冲突(但Visual Studio会向您显示正在进行的操作的报告)在合并中。)
如果您要合并的文件发生了更改, 会发生冲突,系统会提示您还原文件(来自远程分支)或保留删除。
答案 1 :(得分:1)
在提交合并之前,使用git diff --name-status HEAD
查找是否已删除某些文件。如果您想保留文件,只需使用git reset HEAD <file>
取消暂存已删除的文件。
如果合并已自动完成,请使用git diff --name-status HEAD HEAD~1
查找已删除的文件。如果你想保留文件,git reset HEAD~1
重置合并提交。然后只提交您想要提交的修改并重置您想要保留的内容。
要摆脱自动提交,只需使用git merge --no-commit <branch>
,然后第一个解决方案就可以了。