当提交被压缩时,Git会丢失对移动文件的跟踪

时间:2014-03-24 16:57:01

标签: git git-extensions

我在2次提交中移动了很多文件,在每次提交中都检测到了移动。 但是,如果我将那些2提交压缩到第二次提交中完成的移动操作被检测为添加和删除。

有关如何解决此问题的任何想法?

whatsgoingon

感谢。

2 个答案:

答案 0 :(得分:3)

Git没有跟踪文件移动。 Git只跟踪内容。恰好是某些命令(例如git diffgit status)会识别何时删除了一个文件,添加了另一个文件,并且它们的内容看起来与非常相似它可能具有是一个文件移动。

因此,在您的情况下,Git的前端能够识别单个提交的移动,但不能识别组合的移动。这不会改变下面存储的内容(根本没有移动),但只是一个视觉问题。

您可以尝试使用--find-renames参数的值进行播放,以使Git能够识别移动,尽管内容更改了更多内容。该参数可用于git show

答案 1 :(得分:2)

问题是git 始终将文件移动为删除/添加。

只有稍后git(或git客户端)才会尝试提供帮助并将其显示为移动。

请参阅:

How can I prevent git from thinking I did a rename

Make git ignore rename