发现有一些人在通过Github的仓库进行多人协作开发时,还不太明白怎么提交代码,这里以我现在实习的公司为例,写了一篇提交代码到所维护项目的仓库的流程。
从源仓库Fork代码到自己的Github 上
源仓库即weibocom/opendcp ,先进入源仓库,点击右上角的Fork按钮
回到自己的Github上,进入仓库列表,看到已经Fork到自己Github下的opendcp.
Clone代码到本地
从自己的Github 上克隆代码到本地,这里注意不能直接从源仓库克隆,否则自己是没有权限提交代码的
|
|
新建一个本地分支
这里假定我们进行开发维护的是multi-tenancy 这个分支,首先基于multi-tenancy 新建一个本地分支,这里为 jianhui,先checkout到multi-tenancy ,运行下面命令
|
|
以后就在jianhui 这个分支下进行开发
提交代码到自己Github的仓库
本地开发了一段时间,有一些新的变更需要提交
|
|
先提交到本地仓库
|
|
push到自己Github 上的仓库里,由于是第一次push,远程仓库并没有对应本地的分支,需要关联并建立与远程仓库的追踪
|
|
以后直接 git push 就行了
这时看到自己Github 的opendcp仓库里已经有jianhui 这个分支了
提交代码到Weibo的Github仓库
需求已经实现,经本地测试没问题,这时可以请求提交代码到源仓库。我们进入自己Github下的opendcp仓库里,点击上图那个new pull request 按钮。
如果没有问题的话,会弹出一个Create pull request 的按钮。页面下方是发生变更的文件信息。
确认无误后,点击Create pull request 。
会跳转到一个页面让添加说明信息,填写完,继续点击右下角的Create pull request,等待源仓库的维护人员接受本此提交就行。
更新本地代码
还有一点要说的是,如果源仓库有新的变更,本地需要及时跟进。如果直接 git pull ,拉取的是自己Github 上Fork的的代码,而之前Fork到自己Github的代码是不会与源仓库同步更新的,我们就pull不到最新的代码。
我们需要在本地添加新的远程仓库的追踪,使用git remote add 命令,weibo 是自定义的名称,最后一个参数是仓库地址。
|
|
查看已经追踪的远程仓库
|
|
拉取要开发的分支最新的代码,这里还假定是multi-tenancy分支
|
|
现在,本地的代码就与源仓库保持一致了,这时也可以push到自己Fork的仓库中,使其保持代码同步更新。