GitHub團(tuán)隊(duì)協(xié)作流程

說來慚愧翔悠,這么長時間,第一次參與修改開源項(xiàng)目,所以整理了一份GitHub團(tuán)隊(duì)協(xié)作流程阻课,作為備忘叫挟,文章大部分內(nèi)容參考<a target='_blank'>https://www.cnblogs.com/schaepher/p/4933873.html</a>

GitHub開發(fā)流程

注:其中 零瓶蚂、一、七 是由團(tuán)隊(duì)項(xiàng)目負(fù)責(zé)人來完成的宣吱。開發(fā)人員只要從 二 開始就行了窃这。

零、前期準(zhǔn)備

首先把隊(duì)友直接push的權(quán)限關(guān)掉征候,即設(shè)置成Read杭攻。這樣可以防止隊(duì)友誤操作,未經(jīng)審核就把代碼push到團(tuán)隊(duì)項(xiàng)目上倍奢。
Teams用來分配issue的時候會用到朴上,所以保留下來,并不是沒有用卒煞。

一痪宰、創(chuàng)建開發(fā)分支

master分支一般用來發(fā)布穩(wěn)定版本,dev分支(開發(fā)分支)用來發(fā)布開發(fā)版本畔裕。
輸入分支名稱后衣撬,下面會跳出Create branch,點(diǎn)擊即可創(chuàng)建扮饶。

下面圖片寫的是develop具练,是因?yàn)槲覀冞@個項(xiàng)目已經(jīng)有dev分支了。如果你們沒有dev分支甜无,那么名字改成dev即可扛点。這個影響不大。

image

分支創(chuàng)建完畢后岂丘,會自動跳轉(zhuǎn)到dev分支陵究。由于dev分支是從master分支上創(chuàng)建的,因此內(nèi)容與master分支一致奥帘。

image

二铜邮、Fork項(xiàng)目到個人的倉庫

點(diǎn)擊右上角的Fork,并選擇你的賬號(一般在第一個)。就可以Fork團(tuán)隊(duì)項(xiàng)目到個人倉庫啦松蒜。

image

Fork完成后

image

三扔茅、Clone項(xiàng)目到本地

首先是clone,clone的地址可以直接點(diǎn)擊按鈕復(fù)制(如下圖)秸苗。

推薦使用SSH協(xié)議召娜,用HTTP協(xié)議有時會出問題。
注意惊楼,這里clone的是你自己倉庫里的項(xiàng)目

image

打開git命令行萤晴,輸入指令和剛才復(fù)制的地址,回車即可克隆到本地

image

此時你只能看到master分支胁后,并沒有把dev分支clone下來店读。使用 git branch 命令查看本地分支,發(fā)現(xiàn)本地只有master分支攀芯。如下圖的①

image

如上圖的②屯断,使用 git branch -a 查看所有分支,就能看到遠(yuǎn)程分支侣诺。
根據(jù)遠(yuǎn)程分支殖演,我們可以創(chuàng)建一個新的本地分支dev,并把該項(xiàng)目的dev分支的內(nèi)容放到本地dev分支年鸳。如上圖③趴久。

git checkout -b dev origin/dev 的意思是,創(chuàng)建一個dev分支(-b)搔确,并把遠(yuǎn)程dev分支(origin/dev)的內(nèi)容放在該分支內(nèi)彼棍。接著切換到該分支(checkout)

現(xiàn)在使用 git branch 可以查看兩個分支亭饵,并且用 ls 或者 dir 就能看到dev分支的內(nèi)容了捍壤。想切換回master分支的時候,再用 git checkout master 即可愕提。

image

上面的操作完成后涕蜂,你就可以在本地進(jìn)行開發(fā)了华匾。但是如果要將你修改完的代碼合并到團(tuán)隊(duì)項(xiàng)目上,還需要進(jìn)行下面的操作机隙。

四蜘拉、和團(tuán)隊(duì)項(xiàng)目保持同步

首先查看有沒有設(shè)置upstream,使用 git remote -v 命令來查看有鹿。如下圖①

image

如果沒有顯示upstream旭旭,則使用 git remote add upstream 團(tuán)隊(duì)項(xiàng)目地址 命令。如上圖②
接著再次使用 git remote -v 印颤,如果如上圖③您机,顯示出了upstream穿肄,那么就設(shè)置好了

開始同步年局。首先執(zhí)行 git fetch upstream 獲取團(tuán)隊(duì)項(xiàng)目最新版本际看。如下圖①

image

此時并沒有把最新版本合并到你本地的分支上,因此還需要一步矢否。如上圖②仲闽,當(dāng)前分支是dev分支,執(zhí)行 git merge upstream/dev 命令后僵朗,會將源分支(upstream/dev)合并到當(dāng)前分支(dev)赖欣。

如果你是在本地的master分支上開發(fā),那么在使用該命令前验庙,先切換到master分支顶吮。
merge的時候,有可能碰到?jīng)_突粪薛。需要解決沖突才能繼續(xù)下面的操作悴了。沖突的解決可以參考→ 沖突的解決

五、push修改到自己的項(xiàng)目上

解決沖突后违寿,就可以使用 git push 命令將本地的修改同步到自己的GitHub倉庫上了湃交。

注意,在當(dāng)前所在分支使用push藤巢,會push到與這個分支相關(guān)聯(lián)的遠(yuǎn)程倉庫分支搞莺。這里dev分支與origin/dev關(guān)聯(lián),因此push到GitHub上的dev分支掂咒。

image

六才沧、請求合并到團(tuán)隊(duì)項(xiàng)目上

首先到你的GitHub上,進(jìn)入你Fork的倉庫里绍刮。點(diǎn)擊紅框處的Pull request

image

下圖左邊紅框糜工,表示要合并到fzu2015/CourseManagement項(xiàng)目的dev分支。
下圖右邊紅框录淡,表示要從自己倉庫的dev分支發(fā)起合并請求捌木。
點(diǎn)擊紅框處的 Create pull request就可以發(fā)送合并請求了。

image

當(dāng)然嫉戚,在發(fā)送請求之前刨裆,你可以檢查一下你都改了哪些東西。在上面那個頁面往下拉彬檀,就可以看到兩者的對比帆啃。如下圖

image

以上操作結(jié)束后,團(tuán)隊(duì)成員的流程就結(jié)束了窍帝。最后一步交給團(tuán)隊(duì)項(xiàng)目負(fù)責(zé)人來完成努潘。

七、團(tuán)隊(duì)項(xiàng)目負(fù)責(zé)人審核及同意合并請求

首先進(jìn)入GitHub的團(tuán)隊(duì)項(xiàng)目倉庫中。此時右邊的Pull requests顯示當(dāng)前項(xiàng)目有幾個Pull request疯坤。點(diǎn)擊進(jìn)入查看报慕。

image

選擇一個Pull request

image

項(xiàng)目負(fù)責(zé)人審核有兩個要注意的地方:

  • 一個是下圖的①。一定要看清楚是合并到哪個分支压怠。這里是從schaepher的dev分支合并到fzu2015的dev分支眠冈。

  • 另一個是下圖的②。點(diǎn)擊進(jìn)去后菌瘫,就可以查看該P(yáng)ull request對項(xiàng)目做了哪些修改蜗顽。這樣如果有問題,可以及時發(fā)現(xiàn)雨让,并關(guān)閉該P(yáng)ull request雇盖。

如果關(guān)閉了,一定要告訴隊(duì)友栖忠,否則他可能會不知道刊懈。雖然也可以直接在下面發(fā)布Comment告訴他,但隊(duì)友不一定看到娃闲。

image
  • 如果沒有問題虚汛,可以點(diǎn)擊Merge pull request。這樣就合并好了皇帮。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末卷哩,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子属拾,更是在濱河造成了極大的恐慌将谊,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件渐白,死亡現(xiàn)場離奇詭異尊浓,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)纯衍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門栋齿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人襟诸,你說我怎么就攤上這事瓦堵。” “怎么了歌亲?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵菇用,是天一觀的道長。 經(jīng)常有香客問我陷揪,道長惋鸥,這世上最難降的妖魔是什么杂穷? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮卦绣,結(jié)果婚禮上耐量,老公的妹妹穿的比我還像新娘。我一直安慰自己迎卤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布玷坠。 她就那樣靜靜地躺著蜗搔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪八堡。 梳的紋絲不亂的頭發(fā)上樟凄,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機(jī)與錄音兄渺,去河邊找鬼缝龄。 笑死,一個胖子當(dāng)著我的面吹牛挂谍,可吹牛的內(nèi)容都是我干的叔壤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼口叙,長吁一口氣:“原來是場噩夢啊……” “哼炼绘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起妄田,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤俺亮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后疟呐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體脚曾,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年启具,在試婚紗的時候發(fā)現(xiàn)自己被綠了本讥。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡鲁冯,死狀恐怖囤踩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情晓褪,我是刑警寧澤堵漱,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站涣仿,受9級特大地震影響勤庐,放射性物質(zhì)發(fā)生泄漏示惊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一愉镰、第九天 我趴在偏房一處隱蔽的房頂上張望米罚。 院中可真熱鬧,春花似錦丈探、人聲如沸录择。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽隘竭。三九已至,卻和暖如春讼渊,著一層夾襖步出監(jiān)牢的瞬間动看,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工爪幻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留菱皆,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓挨稿,卻偏偏與公主長得像仇轻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子奶甘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Git常用語法 [TOC] Git簡介 描述 ? Git(讀音為/g?t/拯田。)是一個開源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,511評論 0 13
  • 我會的技能: 1、愛下廚愛吃 2侣监、好奇愛發(fā)現(xiàn)新東西 3鸭轮、愛各種手工DIY 我的優(yōu)點(diǎn): 1、愛自學(xué) 2橄霉、運(yùn)動神經(jīng)發(fā)達(dá)...
    suddenly猴子閱讀 186評論 0 1
  • 一切仿佛回到了從前窃爷。此時此刻回蕩起曾經(jīng)TA legacy全班同學(xué)的見證成長的地方。歡迎TA79的19位領(lǐng)袖歸來姓蜂。我...
    顧國勝閱讀 248評論 2 3
  • 沒說完按厘,剛上傳圖片后就手足無措了,怕退出后就刪除了-_-|| 軍訓(xùn)時钱慢,穿那個鞋啊逮京,都磨到腳起泡了,又腫又...
    憶往如故啊閱讀 118評論 0 0
  • 01 這一次草描,居然在”不出局“的系統(tǒng)提醒明天要交作業(yè),開才始動筆策严。 我所謂的7天寫1篇穗慕,其實(shí)只是7天中的某幾個小時...
    不七而遇閱讀 572評論 6 2