在克服了一些学习 Git 的障碍之后,我遇到了一个新的挑战:重命名目录(在本地,在工作目录中)。
当我键入 git status
时,它会列出旧目录名称中的所有文件(新目录中的文件名完全相同)作为 deleted 和新目录名称为“未跟踪”。
有没有办法告诉 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 add
目录的新名称。 Git 不会明确地跟踪重命名,它只是在稍后检测到它们。 git mv
的执行效率可能稍高(因为它可以直接更新索引),但效果完全相同。
关于git - 如何告诉 Git 这是同一个目录,只是名称不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6628539/