建立和簽出新分支

要建立新分支,同時停留在當前分支上,請使用:

git branch <name>

通常,分支名稱不得包含空格,並且遵循此處列出的其他規範。要切換到現有分支:

git checkout <name>

要建立新分支並切換到它:

git checkout -b <name>

要在當前分支(也稱為 HEAD)的最後一次提交之外的位置建立分支,請使用以下任一命令:

git branch <name> [<start-point>]
git checkout -b <name> [<start-point>]

<start-point> 可以是 git 已知的任何修訂版本 (例如,另一個分支名稱,提交 SHA 或符號引用,例如 HEAD 或標記名稱):

git checkout -b <name> some_other_branch
git checkout -b <name> af295
git checkout -b <name> HEAD~5
git checkout -b <name> v1.0.5

要從遠端分支建立分支 (預設 <remote_name> 是原點):

git branch <name> <remote_name>/<branch_name>
git checkout -b <name> <remote_name>/<branch_name>

如果只在一個遙控器上找到給定的分支名稱,則可以使用

git checkout -b <branch_name>

這相當於

git checkout -b <branch_name> <remote_name>/<branch_name>

有時你可能需要將最近幾次提交移動到新分支。這可以通過分支和回滾來實現,如下所示:

git branch <new_name>
git reset --hard HEAD~2 # Go back 2 commits, you will lose uncommitted work.
git checkout <new_name>

以下是此技術的說明性解釋:

 Initial state       After git branch <new_name>    After git reset --hard HEAD~2
                             newBranch                        newBranch
                                 ↓                                ↓
A-B-C-D-E (HEAD)         A-B-C-D-E (HEAD)                 A-B-C-D-E (HEAD)
        ↑                        ↑                            ↑
      master                   master                       master