簡體   English   中英

如何使用 Git 中的(子)目錄重命名?

[英]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 不跟蹤重命名,它回顧性地將它們確定為logshow命令的一部分。 您不必使用 git 命令顯式重命名/移動文件或目錄。

重命名由差異閾值決定,如果添加和刪除文件並且內容足夠相似,則 git 將認為它是重命名/移動。

如果您在 git 之外重命名目錄,然后執行git status ,您會看到它已將它們作為刪除項拾取。 現在將它們都添加到您的索引中( git add -A會這樣做),您現在應該看到它將它們視為重命名。

在命令行上,您可以使用git mv重命名文件或目錄。 您的 GUI 應該有一個選項。

暫無
暫無

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

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