1

我遇到了一个我无法解释也找不到解决方法的 git 问题。

我有一个包含 15000 多个文件(大约 650 MB)的存储库,在过去一周左右的时间里,我一直在丢失提交,或者至少没有正确显示它们。它不会发生在每次提交/推送中,而是随机发生(看起来)。我使用 Stash 前端运行 git。我想不出任何可能导致这种行为的基础设施变化等。

如果我更改目录 aaa/bbb/ccc 中名为 test.xml 的文件并提交并推送,我有时会在更改完成的 repo 克隆或任何其他克隆中看不到更改。如果我执行“git log”,则没有日志条目。如果我在目录 ccc 中执行“git log”,我可以在父目录 aaa 和 bbb 中看到日志条目。

如果我执行“git reflog”,则更改存在并且在正确的分支(master)上,如果我执行“git branch --contains”(在任何克隆中),它会在 master 分支中找到。

这一切都使用 git 1.7.11.msysgit.1 在 Windows 上运行。

4

1 回答 1

1

回答我自己的问题...

事实证明,“丢失的”提交可以通过命令 'git log --follow' 找到。为什么 git 认为这些提交是“重命名”仍然有些神秘,但可能可以通过后来的合并提交覆盖更改来解释,原始更改放回更晚的提交,然后再次被几个合并提交覆盖。

于 2013-04-04T17:34:07.173 回答