解惑开源项目协作流程
一、随笔由来
最近由于产品与国外一个项目进行合作需要对该项目进行代码局部变更,在此记录从获得原仓库代码到提交至原仓库的详细步骤以备下次快速回忆
二、过程
0. 一些假设性前提(由于项目保密性不与透露)
0.1 假设合作原仓库地址为https://origin.com/origin/projetcA
1. 关联原仓库
平常我们在获取他人的仓库代码都是直接获取到仓库地址后直接克隆没有后续操作,但是如果你需要最终将自己的代码提交至原仓库,那么第一步是先fork 原仓库到自己的仓库下
PS: 此处随便选择了一个github上的仓库截取示意图如下,点击Fork
成功fork之后,回到自己的账号仓库下就会看到刚刚复刻的仓库 ,示意图如下:
以上,便关联成功
2. 克隆代码至本地
这步的要点就是克隆的代码是自己账号下的仓库,不是原仓库地址哦
git clone https://origin.com/yourName/projetcA
3. 选择开发的基准分支
这点很重要,因为可能存在不同项目的开发流程有差异,所以一定要先确定以哪个分支进行开发,这里假设比较复杂一些的流程,以DEV分支为开发基准分支,切到相应的分支
git checkout dev // git 小小课堂: git checkout -b dev 有-b的意思是如果要切的分支不存在的话就主动创建一个新的分支
4. 写代码ing.......
通常不会在基准分支上直接开发,个人喜欢以基准分支为准,切出一个自己的开发分支
5. 提交代码
这一步的提交代码仅仅只是将代码提交至自己的账号仓库下
git add . git commit -m "xxx" git pull
可以通过查看提交日志确认提交正确
git log
6. 添加原仓库git 关联
git add upstream ${原仓库地址}
EG.
git add upstream https://origin.com/origin/projetcA
可以通过如下命令确认关联是否成功
git remote -v
7. 本地分支同步原仓库代码
通常本地直接提交的分支如果个原仓库代码差异太大基本是不会被合并的,你在开发的同时,别人也在开发,所以在提交pull request之前务必将自己的仓库代码和远程进行同步,后本地合并再提交到自己的仓库再pull request
git checkout dev // 本地当前开发分支为myDev分支,要先切到dev分支 git pull upstream ${基准分支} // 拉取原仓库此刻的dev最新代码 RG. git pull upstream dev
这时候,通过查看当前所处的版本号来确定本地代码是否已经和原仓库代码同步一致
如果同步一致后,讲自己的开发分支和基准分支在本地进行代码合并
git merge dev
8. 重新提交一次代码与步骤5相同
9. 提交pull requetst
10. 接下去就是根据不同项目的提交模板进行代码提交,当代合并了
三、 出一下流程图,如果有错误欢迎指出,技术是在交流中不断成长+++++
作者:承蒙时光
出处:http://www.cnblogs.com/timetimetime/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。