本文记录一下 简单的 Git不同分支之间 代码合并的简要操作,更加高深的操作请自行探索,若有错误的地方,还请留言指正
使用情景
项目中存在多个分支,例如
- dev:开发分支
- test:测试分支
- stable:正式分支
开发、本地测试 时使用 dev 分支,测试服 测试使用 test 分支,线上使用 stable 分支。
为什么需要多分支 ?
举个例子,我们 开发的时候 一般每一个任务都视为一个需求,那么我们现在有 需求A 和需求B,A和B 我们都已经完成了, A 先做,B 后做,但是我们现在 只需要 B的代码 测试+上线,但是 A 是先做的,如果是单分支 的话,我们就只能是先 回滚 A 的代码,然后 在将代码同步到线上,之后再将 A 的 代码找回来。这样操作是很繁琐的,所以应当有一个更加便于管理的方案,那就是——多分支
多分支的情况则要简单很多,比如我们现在有两个分支,开发测试分支 :local,线上正式分支:master,那么我们只需要将 local 上面的 B 需求部分的代码 同步到 master 就可以了,等到我们 需要 A需求 上线的时候,我们一样的将 A 的代码同步到 master 就可以了
相关操作
相关分支常用操作 请前往 Git branch 分支 简略常用操作 查看
代码合并常用操作
- git pull 将当前分支的远端对应分支代码同步到本地
- git cherry-pick commitId 将 commitId 这一次提交的代码合并到当前分支
- git push 将代码推送到当前分支的远端对应分支
commitId为我们每一次提交commit 时产生的 唯一值token
代码合并流程
例:我们有 dev(开发) 和 prod(正式) 两个分支,dev 分钟中有 4 次提交 123456(需求A)、123457(需求A)、123458(需求B)、123459(需求B)。现在,我们需要将需求B的两次提交:123458、123459 合并到 prod 这个分支并推送到 远端的 prod 分支上
- 1、先查看当前分支
git branch
响应结果如下
prod
* dev
结果说明:本地有prod、dev 两个分支并且当前本地处于 dev 分支
- 2、切换到 prod 分支
git checkout prod
响应结果如下
Switched to branch 'prod'
Your branch is up to date with 'origin/prod'.
好了,分支切换成功
- 3、拉取代码,确保本地 prod 与 远端 prod 分支代码是一致的
git pull
- 4、将 需求B的两次提交:123458、123459 合并到 prod
git cherry-pick 123458 123459
相应结果如下(举个栗子)
[prod 123458] (这里显示一下 123458 commit 提交时填写的内容)
.....(这里显示一下 123458 相关的commit信息)
[prod 123459] (这里显示一下 123459 commit 提交时填写的内容)
.....(这里显示一下 123459 相关的commit信息)
好了,代码合并成功。若合并失败,请自行根据 错误提示 解决问题 -_-
- 5、将代码推送到远端
git push
推送成功之后,就可以在服务器 进行 git pull 拉取代码了
- 6、切换回 dev 分支,可以继续开发了
git checkout dev
原文链接 Git 代码合并简略操作