基于当前分支创建新分支以处理新功能
Create new branch based on current branch to work on a new feature
如何在 git
中创建新分支以开始开发新功能?
我希望新分支是当前分支的副本(即新分支的 HEAD 应该与当前 HEAD 相同)。
问题区分:
- Create a branch in Git from another branch 看似相关,但实际上是关于为什么分支被快进合并。
- How do you create a remote Git branch? is about creating a new branch on a remote.
TL;DR:
要在名为 FEATURE
的新分支上创建并开始工作,您需要:
git checkout -b FEATURE
详细解释
要创建一个名为 FEATURE
的分支:
git branch FEATURE
但是,这不会更改您当前的分支。
然后您可以 checkout
新创建的分支(这意味着使其成为您当前正在处理的分支:
git checkout FEATURE
(可以在git branch --list
的输出中看到当前分支标有*
。)
通常您想在刚刚创建的分支中开始工作,因此这两个命令的快捷方式等效为 git checkout -b FEATURE
,它会创建一个新分支,然后对其执行 checkout
。
如果你说
$ git checkout -b myFeatureBranch anotherBranch
它将在 anotherBranch
的基础上创建 myFeatureBranch
。但是如果你说
$ git checkout -b myFeatureBranch
它将创建 myFeatureBranch
当前分支。
如何在 git
中创建新分支以开始开发新功能?
我希望新分支是当前分支的副本(即新分支的 HEAD 应该与当前 HEAD 相同)。
问题区分:
- Create a branch in Git from another branch 看似相关,但实际上是关于为什么分支被快进合并。
- How do you create a remote Git branch? is about creating a new branch on a remote.
TL;DR:
要在名为 FEATURE
的新分支上创建并开始工作,您需要:
git checkout -b FEATURE
详细解释
要创建一个名为 FEATURE
的分支:
git branch FEATURE
但是,这不会更改您当前的分支。
然后您可以 checkout
新创建的分支(这意味着使其成为您当前正在处理的分支:
git checkout FEATURE
(可以在git branch --list
的输出中看到当前分支标有*
。)
通常您想在刚刚创建的分支中开始工作,因此这两个命令的快捷方式等效为 git checkout -b FEATURE
,它会创建一个新分支,然后对其执行 checkout
。
如果你说
$ git checkout -b myFeatureBranch anotherBranch
它将在 anotherBranch
的基础上创建 myFeatureBranch
。但是如果你说
$ git checkout -b myFeatureBranch
它将创建 myFeatureBranch
当前分支。