2010-06-28 37 views
4

僅供參考,我對git很陌生,主要使用gitgui。更改git項目中的子文件夾名稱,而不會丟失文件歷史記錄?

當我更改包含已經跟蹤文件的已經跟蹤的文件夾的名稱時,git將文件夾中的所有文件視爲新的未跟蹤文件。我該如何讓git明白我只更改了文件夾的名稱,以便我不會「丟失」該文件夾中包含的文件的歷史記錄?

回答

6

Git不關心你的文件或文件夾。我說過了。它跟蹤你的內容。移動文件後,它將顯示爲git狀態,即刪除一組文件/文件夾以及創建文件/文件夾。提交後,Git會檢測到它已經看到了這個確切的內容,並且不僅能夠遵循「文件」和「文件夾」,而且即使您通過管理塊的方式將代碼從一個文件移動到另一個文件。

歡迎來到Git!

2

Git沒有明確跟蹤移動/重命名或副本。相反,它會在被要求時檢測到它們。做這個動作,然後運行git diff -M

1

這裏有一些例子表明,Git是一個真正的內容追蹤:

  1. 的Git -CCC選項怪可以發現,已經在不同的文件和修訂移動線,並正確關聯怪。
  2. 的--find - 複製 - 越難git的差異家庭的選擇,git的格式補丁git的日誌說明了同樣的觀點。在相關說明中,在向項目發送修補程序時,請使用atleast運行format-patch。

因此,您不必明確告訴Git有關副本或移動:它會自動檢測它們。

相關問題