创建和签出新分支
要创建新分支,同时停留在当前分支上,请使用:
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