Git 根据已有分支新建分支开发
当需要根据一个已有分支,来创建一个新分支并在上面开发时,这篇内容会很有用。
一般情景是,在 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 分支,可以发起合并请求了