分享是最好的记忆--如需转发请注明出处[强调]:共同学习 共同进步 不喜勿喷
Git 小团队的协作 (二)
小团队如何利用git协作开发呢?对此我想总结一下自己的经验,
也算是记个笔记吧。
我想通过情景设定的方式,通俗易懂的解释效果会更好一点,也比较贴近实际开发过程。
在创建仓库时分好分支,对此不太了解的同学可以看下Git 小团队的协作 (一)
情景设定
人物 | 角色 | 权限 |
---|---|---|
小黑 | 项目经理 | 管理者 |
小白 | 项目成员 | 开发者 |
流程
-
小黑创建项目
-
小白fork项目
-
小白clone他fork的项目到本地
-
小白从这个项目的
develop
分支分出一个功能分支:feature/login
-
小白在
feature/login
分支上完成任务后到代码托管平台建立Pull Request
提示小黑合并他的功能 -
小黑review小白的代码,没有问题,合并后关闭
Pull Request
-
小白看到自己代码被合并后,删除功能分支
feature/login
继续下一个功能
这里引申一下fork和clone的作用
fork
fork某人的项目之后,我们就能获得跟原仓库一毛一样的仓库。
clone
不用多说,克隆远程项目。
fork 和 clone 的区别
如果说你 clone
了别人的仓库,偷偷的写了一个BUG
想搞原作者,想多了,你提交不到原作者的仓库。
如果说你fork
了别人的仓库,你就能获得一个跟原作者一毛一样的仓库,这时你还想偷偷写以个BUG
搞原作者,
这时你可以推送,但推送的是自己的克隆仓库,还是没有办法对原作者造成威胁,那怎么办呢?你要Pull Request
,
让原作者主动合并才可以。
我们完整的走一边小黑和小白的协作过程
详细流程
小黑创建一个新项目:
$ git init
$ git remote add origin https://gitee.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
$ git checkout -b develop
$ git push origin develop:develop
$ git push origin master
小白fork项目:
首先fork项目
然后
$ git clone https://gitee.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
简单的说就是:
给fork配置远程库
使用
git remote -v
查看远程状态
确定一个将被同步给 fork 远程的上游仓库
git remote add upstream https://gitee.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
再次查看状态确认是否配置成功。
git remote -v
同步fork
从上游仓库 fetch 分支和提交点,提交给本地 master,并会被存储在一个本地分支
upstream/master
git fetch upstream
切换到本地主分支(如果不在的话)
git checkout master
把 upstream/master 分支合并到本地 master 上,这样就完成了同步,并且不会丢掉本地修改的内容。
git merge upstream/master
如果想更新到 gitee 的 fork 上,直接
git push origin master 就好了,但是我们要提交到master分支上
最后进入gitee,进入fork的仓库,点击pull request,选择左边的要合并到的分支,右边选择自己仓库的分支,点击Create pull request发起合并请求,发起之前可以检查一下自己更改的内容
团队负责人审核,如果没问题通过即可,就这样一次协作流程完成。
我是ElyarAnwar,在技术的道路上摸爬滚打;
热爱生活,热爱技术;如果喜欢记得点赞;
网友评论