跳到主要内容

Git 根据已有分支新建分支开发

· 阅读需 3 分钟
Atomic

当需要根据一个已有分支,来创建一个新分支并在上面开发时,这篇内容会很有用。

一般情景是,在 dev 分支开发,此时遇到了一些 bug 需要修复,要根据 dev 分支创建一个 bugfix 分支,在此分支把问题解决,然后推送并发起 pull request 将代码合并到 dev 分支。

步骤

1.新建分支

依据:git checkout -b <new-branch> [<start-point>],创建并切换到 new-branch 分支,如果写上了 start-point 参数,则新分支的 HEAD 将指向它,不写则需要手动设置上游。

start-point:The new branch head will point to this commit. It may be given as a branch name, a commit-id, or a tag. If this option is omitted, the current HEAD will be used instead.

现在以远程的 origin/dev 分支为上游,新建了一个 bugfix 分支。

git checkout -b bugfix origin/dev

2.代码开发

在 bugfix 分支进行开发。

3.设置上游分支

现在的上游是 origin/dev,推送时会推到远程 dev 分支。 设置上游可以根据这条命令 git branch -u, --set-upstream-to <upstream>-u 简写比较方便,也可以使用完整参数 --set-upstream-to

git branch -u origin/bugfix

但是这里还不能这样用,因为还没有把本地创建的新分支推送到远程,无法设置远程的上游。因此需要推送并设置上游

git push -u origin bugfix

4.推送

可以推送到远程仓库

git push

如果没手动设置上游,需要次次都手动推送到指定分支

git push origin bugfix

在这之后,就可以在仓库看到了 bugfix 分支,可以发起合并请求了