我有一个包含 ~300 个文件和 ~30 个文件夹的文件夹。我确实剪切了文件夹(Ctrl+X)并粘贴(Ctrl+V)到预期的文件夹上。
然后我只做了一个git add -A
。
做完之后git status
,我会说 95% 的文件被正确地认为是“重命名”,但有些主题是“删除”+“新文件”。
我找不到任何可以重新组合未重命名文件的逻辑。
这里有什么问题?你认为我可以如何解决它?
(我有 git 版本 2.18.0.windows.1)
一个盲目的猜测:所有的行尾都改变了,所以 git 将这两个文件视为不同的文件
git
可能会更改文件的内容git add
。
最常见的情况是它处理crlf
行尾的方式:例如看这个 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
编入其缓存的那个)