如何在 Git 中創建一個新分支

如何在 Git 中創建一個新分支

分支是編程中版本控制概念的核心,尤其是 Git。這篇入門文章告訴您什麼是分支以及如何使用多種不同的工具創建分支。

什麼是 Git 分支?

在版本控制系統中,術語分支被用作樹的類比,因為每個分支都從另一個分支出現,最終回到主幹。分支允許您創建單獨的開發線,以便在不干擾其他工作的情況下單獨處理它們。

相關: 如何使用 Git 分支來構建您的編程項目

使用 Git,默認情況下您將在master分支上工作,無論您是否意識到這一點。這通常稱為您的activecurrentchecked-outHEAD分支。在您的開發週期中的任何時候,您都可以創建一個新分支並從那時起在每個分支中執行單獨的工作。

在命令行上創建一個新分支

命令行 Git 程序提供了最大的功能和靈活性,但還有很多東西需要學習。如果您願意瀏覽手冊頁並大量使用 Git,那麼這是一個不錯的選擇。

使用git branch命令創建一個具有給定名稱的新分支:

$ git branch dev Branch 'dev' set up to track local branch 'master'.

這是從當前分支分支出來的,因此在執行該命令之前,請確保您已切換到要從中分支的分支。

您可以列出所有分支並使用不帶任何參數的git branch確認已創建新分支

$ git branch 1 dev 2 * master

您可以使用-vv標誌查看更多信息,包括另一個跟踪哪個分支:

$ git branch -vv 1 dev d1a9e5b [master] commit comment 2 * master d1a9e5b commit comment

如果您嘗試在第一次提交之前創建分支,您將收到如下錯誤消息:

fatal: Not a valid object name: 'master'.

如果您嘗試使用已存在的名稱創建分支,您將收到如下錯誤消息:

fatal: A branch named 'dev' already exists.

git的分支命令創建一個新的分支指向同一個commit,你目前的工作。但是,您的工作副本仍將指向主分支。要切換到您剛剛創建的新分支,請使用git checkout

git checkout dev

如果您習慣於其他版本控制系統,術語checkout可能會令人困惑;在 Git 中,checkout是指切換當前活動的分支。由於您通常希望在創建後切換到新分支,因此整個過程有一個快捷方式:

git checkout -b dev

該命令的意思是“創建一個名為'dev'的新分支並立即切換到它”。它相當於:

git branch dev git checkout dev

事實上,您甚至可以使用git checkout從任何其他分支創建一個分支,而不僅僅是當前簽出的分支。例如,要從名為dev的分支創建一個名為another的新分支:

git checkout -b another dev

使用 GitHub Desktop 創建新分支

在 Windows 或 macOS 上創建 Git 分支的另一種方法是使用GitHub Desktop,這是GitHub 提供的官方圖形用戶界面 (GUI) 程序。使用 GUI 非常適合初學者,以及當有人低聲說 Vim 時會做噩夢的人。

GitHub Desktop 將始終在主工具欄中顯示您當前的分支:

如何在 Git 中創建一個新分支

單擊該主工具欄按鈕以顯示存儲庫分支的詳細信息,包括創建新分支的選項:

如何在 Git 中創建一個新分支

請注意,如果您開始輸入沒有匹配項的分支名稱,GitHub Desktop 會提示您創建一個新分支並顯示執行此操作的鍵盤快捷鍵 - 如果您發現自己經常做這種事情,則很有用:

如何在 Git 中創建一個新分支

您也可以立即按下New Branch按鈕開始。無論您選擇哪條路線,您都會看到一個對話框來確認新的分支名稱:

如何在 Git 中創建一個新分支

您的新分支將始終基於創建時處於活動狀態的分支。GitHub Desktop 將切換到您的新分支,該分支將自動跟踪您創建它的分支。

使用 Tower 創建新分支

其他 GUI 可從第三方獲得。Tower有 30 天的免費試用期,可在 macOS 和 Windows 上使用。

要從當前簽出的分支創建新分支,請從主存儲庫菜單中選擇創建新分支

如何在 Git 中創建一個新分支

要從任何可用分支創建新分支,請右鍵單擊左側邊欄中的分支,然後選擇Create New Branch from

如何在 Git 中創建一個新分支

請注意,在任何一種情況下,您都可以啟用分支作為跟踪分支,或將起點更改為任何可用的分支:

如何在 Git 中創建一個新分支

使用 GitKraken 創建新分支

GitKraken是另一種流行的 GUI,乍一看似乎令人生畏,但它在直觀地表示關鍵 Git 概念(包括分支)方面做得很好。GitKraken 可免費開源使用,適用於 Windows、Mac 和 Linux。

確保您正在使用正確的活動分支;它是左側邊欄中分支列表中突出顯示的那個:

如何在 Git 中創建一個新分支

要創建新分支,請單擊主工具欄中的分支圖標:

如何在 Git 中創建一個新分支

輸入您的分支名稱並按 ENTER 鍵:

如何在 Git 中創建一個新分支

新分支將自動簽出,您將在屏幕右側收到通知。

在 GitHub 上創建新分支

作為運行本地應用程序的替代方法,您可以在兩個流行的支持 Git 的 Web 應用程序之一上託管您的存儲庫。第一個GitHub是開源社區非常流行的選項。

GitHub 在您的存儲庫視圖中顯示您當前(活動)的分支,靠近左上角:

如何在 Git 中創建一個新分支

單擊按鈕以顯示現有分支:

如何在 Git 中創建一個新分支

輸入新分支的名稱並註意,您可以選擇從當前分支創建它:

如何在 Git 中創建一個新分支

創建後,您的新分支將變為活動狀態。

在 Bitbucket 上創建一個新分支

Bitbucket是另一個流行的版本控制 Web 應用程序,它提供具有無限數量私有存儲庫的免費帳戶。

從存儲庫中的任何頁面,從左側菜單中選擇分支項:

如何在 Git 中創建一個新分支

單擊右上角的創建分支按鈕。輸入新的分支名稱並單擊Create。如果您需要從master以外的任何地方分支,請先更改From 分支

如何在 Git 中創建一個新分支

Bitbucket 可以輕鬆選擇類型,該類型是添加到分支名稱的前綴,可以鼓勵對分支進行更有條理的方法。這只是一個約定,而不是一個內置的 Git 功能,但它可以證明是有用的。

創建後,Bitbucket 會顯示新分支的視圖:

學習使用 Git 進行分支

如何在 Git 中創建一個新分支

Git 是關於分支的:它們創建起來很便宜,並且允許多個工作流共存,完成後準備合併。一旦您熟悉了創建、切換和合併分支,您就會很好地使用 Git 來發揮其全​​部潛力。


如何使用 Python 作為命令行計算器

如何使用 Python 作為命令行計算器

雖然您可以在計算機上使用圖形計算器,但 Python 編程語言解釋器可以兼作桌面計算器。它在 Python 社區中非常流行,以至於官方教程中都提到了它。下面介紹如何將 Python 用作計算器。

面向程序員的 8 個最佳 Java 博客

面向程序員的 8 個最佳 Java 博客

作為程序員,你應該接受挑戰才能生存,並在開發或編程領域創造一些奇蹟。因此,如果您正在尋求學習高級編程語言以提高您的職業技能,Java 是最好的前景之一。

初學者開始使用 Python 的 7 個重要命令

初學者開始使用 Python 的 7 個重要命令

如果您有一個全面的路線圖,詳細說明初學者應學習哪些概念以及如何進一步進步以達到下一個里程碑,那麼學習 Python 等新編程語言將變得輕而易舉。即使是中級程序員也應該經常複習他們的基礎知識,為自己打下堅實的基礎。

響應式網頁設計原則

響應式網頁設計原則

如今,構建一個根據瀏覽器或設備調整其用戶界面的網站或應用程序是一種常見的做法。有兩種方法可以實現這一目標。第一個涉及為不同的設備創建不同版本的網站或應用程序。但它效率低下,並可能導致不可預測的錯誤。

如何使用 C++、Python 和 JavaScript 計算數字中的位數

如何使用 C++、Python 和 JavaScript 計算數字中的位數

處理數字是編程的一個組成部分。每種編程語言都支持以多種不同方式操作數字。在本文中,您將學習如何使用迭代、基於日誌和基於字符串的方法查找整數中的總位數。

用於容器管理的 9 個最佳 Docker 替代方案

用於容器管理的 9 個最佳 Docker 替代方案

容器對於虛擬環境中的軟件開發、部署和管理非常有益。Docker 在容器化過程中很有用,但它不是唯一的平台。如果您正在尋找 Docker 的替代品,那就別無所求。此列表展示了一些功能豐富且高效的 Docker 替代方案,可用於您的下一個項目。

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

如何在您的 WordPress 帖子中嵌入推文

如何在您的 WordPress 帖子中嵌入推文

在您的 WordPress 帖子中嵌入第三方服務是一種吸引訪問者興趣的令人興奮的方式。嵌入的內容還提供了使掃描更容易的視覺提示。WordPress 使添加此類內容變得容易。

如何使用 npkill 刪除節點模塊文件夾

如何使用 npkill 刪除節點模塊文件夾

Node.js 是一個 JavaScript 運行時環境,允許您在 Web 瀏覽器之外運行 JavaScript,使其成為開發各種應用程序的流行選擇。它的流行部分是由於大量的 NPM 包可以簡化開發人員的體驗。

如何編寫和編譯你的第一個 Solidity 代碼

如何編寫和編譯你的第一個 Solidity 代碼

Solidity 是以太坊區塊鏈上智能合約使用的編程語言。它是一種靜態類型的、面向對象的編程語言。

前 5 大徽章將增強您的 GitHub 存儲庫

前 5 大徽章將增強您的 GitHub 存儲庫

GitHub 徽章可以通過為用戶提供一種快速的方法來捕獲存儲庫指標來提高存儲庫的可讀性。徽章可以嵌入到您的 README.md 中,以向其他開發人員闡明您的項目的重要性和必要性。因此,讀者可以通過檢查附加的徽章快速了解存儲庫。

什麼是國際程序員節?今年的 3 種慶祝方式

什麼是國際程序員節?今年的 3 種慶祝方式

國際慶祝日是對社會事務、歷史日子和各自職業給予認可的好方法。國際程序員日慶祝程序員在改善日常生活方面所發揮的作用。我們生活的文明世界是程序員辛勤工作的產物。

Python String format() 方法如何工作?10個例子

Python String format() 方法如何工作?10個例子

無論是數據庫查詢還是數學運算的結果,Python 字符串格式方法都提供了一種更加動態和吸引人的方式來向用戶呈現結果。

Visual Studio 2022 與 2019:您現在應該升級嗎?解釋

Visual Studio 2022 與 2019:您現在應該升級嗎?解釋

今年早些時候,微軟向狂野的編程世界發布了 Visual Studio 2022 的預覽版。這是個好消息!這是一個非常受歡迎的 IDE,但考慮到它蓬勃發展的 DevOps 生態系統的變化速度,它需要進行調整甚至大修。

軟件度量的簡單介紹

軟件度量的簡單介紹

軟件度量是用於量化軟件各個方面的度量。這些方面可以包括開發團隊的成本、質量和效率。

如何在 Windows 10 上安裝 .NET Framework 3.5 版

如何在 Windows 10 上安裝 .NET Framework 3.5 版

作為 Windows 用戶,您可能至少遇到過 .NET Framework 這個詞。它是 Microsoft 開發的軟件框架,可讓您構建和運行 C#、C++、F# 和 Visual Basic 程序。最新的 .NET 版本是 4.8,但您的計算機可能需要舊版本的 .NET(如 .NET 3.5)才能運行某些應用程序。

Flask 或 CherryPy:您應該使用哪種 Python 框架?

Flask 或 CherryPy:您應該使用哪種 Python 框架?

如果您是 Python 開發人員,您可以從一系列可用的框架中受益匪淺。雖然有些框架最適合大型生態系統,但其他框架則專門服務於特定的發展目標。繼續閱讀以了解兩個 Python 框架 Flask 和 CherryPy 之間的基本特性、用法和區別。

如何使用 Python、C++ 和 JavaScript 查找 N 位完美立方體和正方形

如何使用 Python、C++ 和 JavaScript 查找 N 位完美立方體和正方形

許多程序員喜歡使用代碼解決棘手的數學問題。它有助於提高頭腦和提高解決問題的能力。在本文中,您將學習如何使用 Python、C++ 和 JavaScript 找到最小和最大的 n 位完美正方形和立方體。每個示例還包含幾個不同值的示例輸出。

如何將 Python 添加到 Windows PATH 變量

如何將 Python 添加到 Windows PATH 變量

從終端運行 Python 通常是不可避免的。但是,如果您是第一次在 Windows 10 上安裝 Python,則只有將其添加到 Windows PATH 環境變量中,才能通過 Windows 終端運行它。

如何使用 Python if 語句

如何使用 Python if 語句

if 語句是邏輯編程的驅動力。因此,更好地掌握 Python 是對 Python 編程技能的重要補充。

如何使用 Python 作為命令行計算器

如何使用 Python 作為命令行計算器

雖然您可以在計算機上使用圖形計算器,但 Python 編程語言解釋器可以兼作桌面計算器。它在 Python 社區中非常流行,以至於官方教程中都提到了它。下面介紹如何將 Python 用作計算器。

面向程序員的 8 個最佳 Java 博客

面向程序員的 8 個最佳 Java 博客

作為程序員,你應該接受挑戰才能生存,並在開發或編程領域創造一些奇蹟。因此,如果您正在尋求學習高級編程語言以提高您的職業技能,Java 是最好的前景之一。

初學者開始使用 Python 的 7 個重要命令

初學者開始使用 Python 的 7 個重要命令

如果您有一個全面的路線圖,詳細說明初學者應學習哪些概念以及如何進一步進步以達到下一個里程碑,那麼學習 Python 等新編程語言將變得輕而易舉。即使是中級程序員也應該經常複習他們的基礎知識,為自己打下堅實的基礎。

響應式網頁設計原則

響應式網頁設計原則

如今,構建一個根據瀏覽器或設備調整其用戶界面的網站或應用程序是一種常見的做法。有兩種方法可以實現這一目標。第一個涉及為不同的設備創建不同版本的網站或應用程序。但它效率低下,並可能導致不可預測的錯誤。

如何使用 C++、Python 和 JavaScript 計算數字中的位數

如何使用 C++、Python 和 JavaScript 計算數字中的位數

處理數字是編程的一個組成部分。每種編程語言都支持以多種不同方式操作數字。在本文中,您將學習如何使用迭代、基於日誌和基於字符串的方法查找整數中的總位數。

用於容器管理的 9 個最佳 Docker 替代方案

用於容器管理的 9 個最佳 Docker 替代方案

容器對於虛擬環境中的軟件開發、部署和管理非常有益。Docker 在容器化過程中很有用,但它不是唯一的平台。如果您正在尋找 Docker 的替代品,那就別無所求。此列表展示了一些功能豐富且高效的 Docker 替代方案,可用於您的下一個項目。

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

如何在您的 WordPress 帖子中嵌入推文

如何在您的 WordPress 帖子中嵌入推文

在您的 WordPress 帖子中嵌入第三方服務是一種吸引訪問者興趣的令人興奮的方式。嵌入的內容還提供了使掃描更容易的視覺提示。WordPress 使添加此類內容變得容易。

如何使用 npkill 刪除節點模塊文件夾

如何使用 npkill 刪除節點模塊文件夾

Node.js 是一個 JavaScript 運行時環境,允許您在 Web 瀏覽器之外運行 JavaScript,使其成為開發各種應用程序的流行選擇。它的流行部分是由於大量的 NPM 包可以簡化開發人員的體驗。

如何編寫和編譯你的第一個 Solidity 代碼

如何編寫和編譯你的第一個 Solidity 代碼

Solidity 是以太坊區塊鏈上智能合約使用的編程語言。它是一種靜態類型的、面向對象的編程語言。