10 某些东西返回,我对 .gitignore 文件进行了更改。今天,当我提取最新代码时,我的更改不在那里。所以我运行了这个命令:
git log -p .gitignore
它告诉我文件的最后更改是我的。然后我提取了从现在到我的提交之间的所有提交,并确定了删除我的更改的提交。然后我对那个提交和之前的提交进行了比较,在差异中我可以看到文件的变化。
但是为什么我通过上面的命令看不到变化呢?当我使用
时我什至没有看到这种变化gitk .gitignore
另外我想知道,当我也尝试查看其他文件的历史记录时是否会发生这种情况?
最佳答案
也许您所说的更改是通过与另一个分支 merge 引入的?有不同的 merge 策略,尽管您的提交可能是按时间顺序排列的最后一个, merge 过程可能更喜欢符合策略规则的旧提交。
默认情况下,git 使用 recursive
策略,该策略将按照创建顺序排列提交。但也许在您的情况下, merge 是使用 ours
和 heirs
策略完成的,该策略更喜欢从一个分支提交而不是从另一个分支提交。这就是为什么您可能看不到您实际期望的内容。
请访问this Q&A获取有关策略的更多信息。
关于git - 对 .gitignore 的更改未显示在日志中,但显示在提交到提交差异中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13991959/