git 代码仓库创建分支开发到合并主分支流程
前言:规范代码提交的命名以及流程,开发者从创建分支开发到合并主分支的整体交付流程
A开发者创建git项目
A开发者在main分支中编写了hello.py文件,内容如下所示
# coding=utf-8
def test():
print("this is test func")
if __name__ == '__main__':
test()

接着推送上仓库,作为初始化项目
git add hello.py
git commit -m "init hello.py"
git push origin main

B开发者创建新分支开发功能
B开发者创建了新分支feat-v1,并且在新分支中新增了start和end功能在主函数hello中进行调用,如下图所示

推送新分支代码

A开发者主分支修改代码
A开发者同时也在开发代码

推送代码到仓库

新分支feat-v1合并main
此时有一个需求,就是需要让B开发者将自己维护的feat-v1分支的新功能代码合并到main中
但是现在有个问题就是,main分支也在被其他开发者维护,feat-v1分支在被自己维护,如果自己直接将新分支feat-v1合并到main中的话,那么项目发布很有可能存在代码问题导致项目发布失败
所以第一步的话B开发者先将分支切换到main分支中同步最新的分支代码,如下图所示
git checkout main
git pull

接着就是B开发者重新切换到新开发的分支feat-v1中,将最新的main分支代码合并到feat-v1中完成最新代码(原分支和自己的新功能代码)的整合
git checkout feat-v1
git merge main
合并中出现了Merge conflict的情况,这是因为同一个文件hello.py在main分支和feat-v1分支中都存在变动,如下图所示

通过查看可以知道hello.py中存在分支冲突的情况


假如我两边的变动都需要保存,那么我这边直接选择"保留双方更改即可"

接着重新add提交该hello.py进行推送代码到远程feat-v1分支仓库
git add hello.py
git commit -m "merge main"
git push origin feat-v1

提交PR进行代码评审
提交PR申请将feat-v1新分支变动合并到main分支中

合并PR
当main分支的开发者A同意pr即可将feat-v1合并到main分支中,如下图所示


浙公网安备 33010602011771号