3

10 东西提交回来,我对 .gitignore 文件进行了更改。今天,当我提取最新代码时,我的更改不存在。所以我运行了这个命令:

git log -p .gitignore

它告诉我文件的最后一次更改是我的。然后我提取了从现在到我的提交之间的所有提交,并确定了删除我的更改的提交。然后我拿了那个提交的差异,以及之前的那个,在差异中我可以看到文件的变化。

但是为什么我不能通过上面的命令看到变化呢?当我使用时,我什至看不到这种变化

gitk .gitignore

我也想知道,当我尝试查看其他文件的历史记录时,是否会发生这种情况?

4

1 回答 1

0

也许您正在谈论的更改是通过与另一个分支合并引入的?有不同的合并策略,尽管您的提交可能是按时间顺序排列的最后一个,但合并过程可能更喜欢符合策略规则的旧提交。

默认情况下,git 使用recursive策略,它将按照创建的顺序排列提交。但也许在你的情况下,合并是使用oursheirs策略更喜欢来自一个分支的提交而不是来自另一个分支的提交。这就是为什么您可能看不到您实际期望的内容。

请访问此问答以获取有关策略的更多信息。

于 2013-01-18T11:07:19.813 回答