在学习Git时,我克服了一些困难,但又遇到了一个新挑战:重命名目录(在本地工作目录中)。
当我输入git status
时,它会列出旧目录名称中的所有文件(这些文件与新目录中完全相同的文件名存在),状态为已删除,而新目录名称为“未跟踪”。
是否有一种方法可以告诉Git,“实际上是相同的目录,只是名称不同”?
这样所有的文件就只会被 git status
列出为修改过的文件了吗?
为了举例说明问题,这里是当我重命名整个目录时从git status
接收到的输出:
git status
# On branch master
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: old-dir-name/file1
# deleted: old-dir-name/file2
# deleted: old-dir-name/file3
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# new-dir-name/
no changes added to commit (use "git add" and/or "git commit -a")
~/sb/ws>
git status
中报告任何内容。 - karlphillipmv folder new_name
。Git 足够聪明,可以检测到您是创建了新文件还是仅重命名了一个文件夹。但是当您删除目录并创建一个新目录(即使它具有先前目录的相同文件)时,Git 认为所有这些文件都是新文件。将来,只需使用mv
进行重命名即可。如果您喜欢,我可以将此作为答案添加进去。 - karlphillipgit status
现在应该会显示重命名文件(而不是删除/添加文件)。请参见下面的我的回答。 - VonC