现在,发生了一件奇怪的事情:
提交(a)和(b)有一个共同的祖先(当前标记的行)。
在commit(a)" Commit for flexible preamble"中,一些文件被添加到存储库中。在查看此特定git-commit的源代码树时,可以在repo中找到这些文件。
在commit(b)中,即合并提交,突然从(a)中的文件从存储库中删除。
在拉动操作之后,TortoiseGit会自动完成合并。
不幸的是,我无法弄清楚这里发生了什么。用户做错了什么,以便删除文件?或者在这个星座中删除文件是否正常?
第一次合并后文件仍在那里(2016-12-01 19:59:52的蓝线和灰线)。
答案 0 :(得分:1)
提交b
中的一个父项删除了这些文件,或者该父文件中没有该文件。 Git有两个版本的现实。源于提交a
的一个版本是添加了一些新文件。另一个版本说这些文件不存在。合并后只能有一个版本。至于为什么Git选择文件不在那里的版本,如果合并中的主分支(即合并另一个分支的那个)不包含这些文件,那么Git可能已经给出了它的版本的东西偏好。
在任何情况下,您都可以通过以下方式再次添加文件:
git checkout <SHA-1> -- filename