在git上移动某些文件时,它们不被视为“重命名”

时间:2018-09-05 13:08:00

标签: git git-mv

我有一个包含300个文件和30个文件夹的文件夹。我确实将文件夹(Ctrl + X)剪切并粘贴(Ctrl + V)在期望的文件夹上。

那我只做了git add -A

做完git status之后,我会说95%的文件被正确地认为是“重命名”,但是某些主题是“已删除” +“新文件”。

我找不到任何可以重新组合未重命名文件的逻辑。

这是什么问题?您如何看待我能解决它?

(我的git版本为2.18.0.windows.1)

1 个答案:

答案 0 :(得分:-1)

一个盲目的猜测:所有行尾都已更改,因此git将两个文件视为不同

git可能会在您git add时改变文件的内容。

最常见的情况是它处理crlf行尾的方式:例如,请参见this SO answer


您可以手动检查“已删除”版本和“已添加”版本之间的区别:

 # compare the content of 'old/file' as stored in the HEAD commit,
 # and 'new/file' as stored on your disk :
 git diff HEAD:old_deleted_dir/file  :new_added_dir/file

与“新文件”之前的:有关:git将使用文件的索引版本(add进入其缓存的版本)< / p>