我刚刚做了git rm file1.c以后的git status节目
On branch master
Your branch is ahead of 'origin/master' by 2 commits.
(use "git push" to publish your local commits)
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: file1.c
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/file2.c
dir/file3.c
Run Code Online (Sandbox Code Playgroud)
到目前为止一切顺利.但是,如果git add dir/file2.c我得到了
On branch master
Your branch is ahead of 'origin/master' by 2 commits.
(use "git push" to publish your local commits)
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
renamed: file1.c -> dir/file2.c
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/file3.c
Run Code Online (Sandbox Code Playgroud)
这是一个错误还是我做错了?我希望新文件列为新文件.除了简短的版权声明[\ edit]之外,file1.c和file2.c绝不会有类似的内容[编辑].
这不是错误,这是一个功能.
删除文件,然后添加大多数代码相同的另一个文件时,这是一个等同于重命名文件的操作.
因此,git将其显示为
renamed: file1.c -> dir/file2.c
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请查看git-scm上的此链接.此外,您可以检查git无法检测重命名以及git如何检测类似文件,以进行重命名检测.