[英]How to work with (sub)directory renames in Git?
我正在考慮將 Git 用於本地開發人員 VCS 支持(這是用於多學科開發)。
以前的做法是為每個試用版重命名頂級目錄(並保留 zip 副本)。 對於 1-2 人的團隊來說,它是相當有效的。 Beyond Compare 用於版本之間。
然而,快速嘗試將 Git 應用於該方法表明它“認為”文件被刪除並創建了新文件,而不是簡單地位於新路徑上。
因此我們有
\GIT-Dir
\.git
\Master-with-updating-version-name1
\ProjectName
\Source
files.etc
變成
\GIT-Dir
\.git
\Master-with-updating-version-name2
\ProjectName
\Source
files.etc
接着
\GIT-Dir
\.git
\Master-with-updating-version-name3
\ProjectName
\Source
files.etc
鑒於我需要在過渡期間保持舊方法有效,有哪些選擇?
a/ 如何讓 Git 意識到它只是一個簡單的路徑更新?
b/如何確保較低級別的文件被正確跟蹤和區分?
我在 Windows 上,使用 GitGui 0.13 和 git 1.7.4.msysgit.0,並安裝了 GitExtensions 2.21
Git 不跟蹤重命名,它回顧性地將它們確定為log
和show
命令的一部分。 您不必使用 git 命令顯式重命名/移動文件或目錄。
重命名由差異閾值決定,如果添加和刪除文件並且內容足夠相似,則 git 將認為它是重命名/移動。
如果您在 git 之外重命名目錄,然后執行git status
,您會看到它已將它們作為刪除項拾取。 現在將它們都添加到您的索引中( git add -A
會這樣做),您現在應該看到它將它們視為重命名。
在命令行上,您可以使用git mv
重命名文件或目錄。 您的 GUI 應該有一個選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.