如果您要開發任何型別的軟體或網路應用程式,使用 Git 幾乎是您工作流程中必不可少的一環。
分散式版本控制系統幾乎是協調團隊編碼工作的唯一途徑。為此,Git 有一套簡單的命令集,你可以很快掌握,但它可能並不總是那麼直觀。
尤其是在對分支執行 git rename
等情況下。
團隊合作需要交流,而你的分支名稱既然是公開的,就應該有足夠的描述和清晰度。這可能會與快速工作的普遍需求相沖突。因此,你在開始編寫程式碼時為分支快速命名的約定可能需要調整,以更好地適應你的專案。
在本篇文章中,我們將向你展示如何在分支上執行 git rename
。首先,讓我們來談談什麼是 Git 分支,以及在哪些情況下需要重新命名分支。
什麼是 Git 分支(為什麼要重新命名?)
Git 的版本控制採用分支方式。你會有一個主倉庫,其中包含專案的所有分支,包括主分支(稍後詳述)。
使用 Git 的部分好處是,你可以複製主分支,編寫程式碼,然後在最終確定所有內容後再合併這些修改。
然而,命名分支是許多開發者匆忙完成的一步。在 Git 中更改分支名稱有很多原因:清晰:
- 清晰度:你要確保分支的程式碼改動及其作用完全清晰。這在合併甚至刪除分支時都很重要。如果刪除了錯誤的分支或忘記了它的名字,那就無法挽回了。
- 一致性:你的分支可能並不遵循團隊設定的命名慣例。這意味著你必須在以後修改分支名稱。
- 現代標準:如果是傳統專案,或者是團隊內部長期關注的專案,分支可能與當前的文化敏感性約定不符。例如,有一種流行的做法是將主分支從 “master” 改為 “main” 或 “trunk”,以避擴音及奴隸制度。
由於這些原因(還有其他原因),你經常需要對某個分支執行 git rename
。
接下來,我們將教你如何操作。
如何重新命名 Git 分支
在分支上執行 git rename
時,你必須同時考慮本地和遠端(如 GitHub)倉庫。好訊息是,我們接下來要介紹的流程將涵蓋你成功所需的所有變體。
首先,我們來介紹如何定位和更改分支名稱。這將包括如何使用命令標誌。然後,我們將瞭解如何確保遠端版本庫與本地版本庫相匹配。
1. 使用 git checkout
和 git branch
命令
首要任務是找到要重新命名的分支。您可以使用以下命令:
git checkout current-name
在使用 current-name
的地方,應該加上分支的名稱。如果不知道分支名稱,或想檢視完整的分支列表(也許是為了檢查整個專案的約定),可以使用 git branch --list
或 git branch -a
。
導航到 Git 倉庫,並列出其中的分支。
進入正確的分支後,可以用下面的方法重新命名它:
git branch -m new-name
同樣,你要確保在這裡使用的是具體的分支名稱,而不是我們的佔位符。 -m
標誌的意思是 “移動”,是命令中導致重新命名的元素。
在 Git 倉庫中重新命名分支。
如果你選擇的新分支名稱已經存在,你可以使用 -M
來強制更改。在 Windows 機器上,如果分支名稱包含大小寫字母,也可以使用這種方法。
確認更改後,使用 git status
檢視新名稱是否適用於您的分支:
使用 git status 檢查 Git 是否已重新命名。
不過,如果你不想用 git checkout
,也完全沒必要。讓我們來詳細瞭解一下。
1(a). 不使用 git checkout
重新命名 Git 分支
此方法只有在您位於軟體倉庫主分支時才有效。否則,您就需要使用 git checkout
才能進入主分支。
無論如何,您都可以使用 git status
檢視您在倉庫中的當前位置。更改分支名稱的命令與上一個方法類似,但這次要將當前分支名稱和新分支名稱合併:
git branch -m current-name new-name
執行命令後,可以檢視分支列表作為確認。
2. 將重新命名的分支推送到遠端版本庫
雖然這種方法適用於本地 repo,但對於遠端 repo,你還需要做更多。你經常需要在專案中處理遠端 repo,這一步可不能忘了。
如果跳過這一部分,新分支仍會引用其舊的 “上游” 分支名稱。訣竅就是從遠端 repo 中移除舊分支,然後將新分支推向上游。
第一步是重新命名本地分支,然後可以依次執行幾個命令。
首先,刪除舊分支:
git push origin --delete old-branch
…然後推送新的:
git push origin -u new-branch
作為替代方案,您可以使用以下方法覆蓋上游分支名稱:
git push origin: old-branch new-branch
git push origin -u new-branch
再次執行 git status
檢視新分支是否指向自己的引用,而不是舊分支。如果引用指向的是舊分支,可以用 git branch --unset-upstream
來修復。
小結
Git 是一種直觀而強大的方法,可用於對專案程式碼進行分散式版本控制。
它最靈活的優勢之一就是既能用於本地版本庫,也能用於遠端版本庫。不過,一些簡單的任務(如重新命名分支)需要花費比其他任務更多的心思。
本文將討論如何在本地和遠端倉庫中使用 git rename
分支。雖然命令本身簡單明瞭,但你必須應用一些不同的命令來確保本地和遠端倉庫相匹配。否則,你進行的任何合併都可能會出現錯誤,或錯誤引用舊的或不存在的版本。
評論留言