分享是最好的記憶--如需轉(zhuǎn)發(fā)請注明出處[強調(diào)]:共同學習 共同進步 不喜勿噴
Git 小團隊的協(xié)作 (二)
小團隊如何利用git協(xié)作開發(fā)呢?對此我想總結(jié)一下自己的經(jīng)驗,
也算是記個筆記吧坊秸。
我想通過情景設(shè)定的方式,通俗易懂的解釋效果會更好一點,也比較貼近實際開發(fā)過程。
在創(chuàng)建倉庫時分好分支蜀肘,對此不太了解的同學可以看下Git 小團隊的協(xié)作 (一)
情景設(shè)定
人物 | 角色 | 權(quán)限 |
---|---|---|
小黑 | 項目經(jīng)理 | 管理者 |
小白 | 項目成員 | 開發(fā)者 |
流程
小黑創(chuàng)建項目
小白fork項目
小白clone他fork的項目到本地
小白從這個項目的
develop
分支分出一個功能分支:feature/login
小白在
feature/login
分支上完成任務(wù)后到代碼托管平臺建立Pull Request
提示小黑合并他的功能小黑review小白的代碼,沒有問題稽屏,合并后關(guān)閉
Pull Request
小白看到自己代碼被合并后扮宠,刪除功能分支
feature/login
繼續(xù)下一個功能
這里引申一下fork和clone的作用
fork
fork某人的項目之后,我們就能獲得跟原倉庫一毛一樣的倉庫狐榔。
clone
不用多說坛增,克隆遠程項目。
fork 和 clone 的區(qū)別
如果說你 clone
了別人的倉庫荒叼,偷偷的寫了一個BUG
想搞原作者轿偎,想多了,你提交不到原作者的倉庫被廓。
如果說你fork
了別人的倉庫坏晦,你就能獲得一個跟原作者一毛一樣的倉庫,這時你還想偷偷寫以個BUG
搞原作者嫁乘,
這時你可以推送昆婿,但推送的是自己的克隆倉庫,還是沒有辦法對原作者造成威脅蜓斧,那怎么辦呢仓蛆?你要Pull Request
,
讓原作者主動合并才可以挎春。
我們完整的走一邊小黑和小白的協(xié)作過程
詳細流程
小黑創(chuàng)建一個新項目:
$ 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
查看遠程狀態(tài)
確定一個將被同步給 fork 遠程的上游倉庫
git remote add upstream https://gitee.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
再次查看狀態(tài)確認是否配置成功看疙。
git remote -v
同步fork
從上游倉庫 fetch 分支和提交點,提交給本地 master直奋,并會被存儲在一個本地分支
upstream/master
git fetch upstream
切換到本地主分支(如果不在的話)
git checkout master
把 upstream/master 分支合并到本地 master 上能庆,這樣就完成了同步,并且不會丟掉本地修改的內(nèi)容脚线。
git merge upstream/master
如果想更新到 gitee 的 fork 上搁胆,直接
git push origin master 就好了,但是我們要提交到master分支上
最后進入gitee,進入fork的倉庫邮绿,點擊pull request渠旁,選擇左邊的要合并到的分支,右邊選擇自己倉庫的分支船逮,點擊Create pull request發(fā)起合并請求顾腊,發(fā)起之前可以檢查一下自己更改的內(nèi)容
團隊負責人審核,如果沒問題通過即可挖胃,就這樣一次協(xié)作流程完成杂靶。
我是ElyarAnwar承耿,在技術(shù)的道路上摸爬滾打;
熱愛生活伪煤,熱愛技術(shù);如果喜歡記得點贊凛辣;