簡體   English   中英

Git:重命名目錄會從git中刪除所有文件

[英]Git: renaming a directory deletes all files from git

我將Git用於我的一個項目。 在目錄之一中,有一些文件。 現在,我需要重命名目錄。 重命名目錄后, git status所有文件顯示為已刪除。 因此,這意味着我必須再次將這些文件添加為Git中的新文件。 但是我不想將所有這些文件再次添加為Git中的新文件。

有什么方法可以重命名目錄,而不是將整個目錄和文件添加為Git中的新文件?

git很聰明。 嘗試git add您現在已刪除的舊文件夾以及新文件夾。 然后運行git status ,您將看到git了解了什么。 它最有可能將您的更改顯示為移動,而不是刪除和添加。

git mv --dry-run oldDir newDir 

看起來不錯?

git mv oldDir newDir

僅當將文件添加到staging area (也稱為index )時,才進行重命名檢測。

因此,如果您重命名了文件夾,您將在git status看到:

  • 舊文件夾中所有已刪除的文件
  • 新文件夾中的所有文件均未跟蹤

實際上,您有2種方法可以重命名:

  • git add所有未跟蹤的文件(並且git通常會使用其統計算法來查找文件重命名)
  • 不用自己重命名該文件夾,而是使用git命令為您完成( git mv )。 這樣,git將為您完成add ,我們一切都會好起來的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM