创建和签出新分支

要创建新分支,同时停留在当前分支上,请使用:

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