小团队如何利用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 /ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
$ git checkout -b develop
$ git push origin develop:develop
$ git push origin master
小白fork项目:
首先fork项目
然后
$ git clone /ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
简单的说就是:
给fork配置远程库
使用
git remote -v
查看远程状态
确定一个将被同步给 fork 远程的上游仓库git remote add upstream /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,在技术的道路上摸爬滚打;
热爱生活,热爱技术;如果喜欢记得点赞;
#幸福里精装房选房指南#
#幸福里改善好房评测#
#幸福里采光好房评测#