Git:重命名目录会从git中删除所有文件

3

我正在使用Git管理我的一个项目。其中有一个目录包含一些文件。现在我需要重命名这个目录。当我重命名了这个目录后,git status显示所有文件都被删除了。这意味着我需要将这些文件作为新文件再次添加到Git中。但我不想再把所有这些文件作为新文件添加到Git中。

有没有办法重命名目录而不是将整个目录和文件作为新文件添加到Git中?


不,我认为没有办法做到这一点。当你重命名文件夹时,你也会重命名里面的所有内容。最好的情况可能是Git会发现你正在重命名文件,而不是删除和添加它们。 - Tim Biegeleisen
Git提交是快照而不是变更集。重命名与删除+添加之间没有区别。 - user4003407
4个回答

3
git mv --dry-run oldDir newDir 

看起来不错吗?

git mv oldDir newDir

1
首先,你可以尝试将你已经删除的文件夹以及新建的文件夹都简单地使用git add命令添加进来。然后运行git status命令,你会看到git是如何解释你的更改的。它很可能会将你的更改显示为移动操作,而不是删除和添加操作。

0

只需执行命令:git mv olddirectory_name new_name


0

重命名检测仅在文件添加到暂存区时完成(也称为索引)。

因此,如果您重命名了文件夹,则会在git status中看到:

  • 旧文件夹所有的文件已被删除
  • 新文件夹中的所有文件均未被跟踪

实际上有两种方法可以重命名文件夹:

  • git add 所有未跟踪的文件(git将使用其统计算法查找大部分情况下正确的文件重命名)
  • 使用git命令代替自己重命名文件夹(git mv)。这样,git将为您执行add并且一切顺利。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接