開啟新的分支做編程
在專案上,會有很多分支。有些分支供發佈專案版本使用,有些分支供專案開發使用,而分支的使用方式,由團隊共同討論決定。這邊我們使用三種分支,第一為原本就設定好的master分支做發佈版本使用;第二為develop分支,集結所有開發的commit;第三為develop下的feature分支,做開發使用。
Step1. 在GitHub上開啟新的develop分支,如左圖(1–1)。
Step2. 回到terminal追蹤遠端分支更新,如右圖(1–2)。
git fetch origin (出現我們剛剛在GitHub上開的develop分支訊息)
Step3. 讓本地端server與遠端server配對,且追蹤遠端develop分支
git checkout --track origin/develop
Step4. 在develop分支底下,開feature分支
git checkout -b feature develop
Step5. 在feature上做coding
Step6. coding結束後,打包進本地端server,如圖(1–3)。
git status
git add .
git commit -m "Messages"
Step7. Push上遠端server
git push --set-upstream origin feature
到這邊本地端即處理好了,下一步就要回到GitHub做pull request
若是在feature分支本身就存在的情況下,則可以跳過Step1的在GitHub開分支的動作,可以從Step2開始做更新分支、配對、然後再使用git pull更新feature分支內容後,就可以coding了。
Pull Request
當專案處理好,也使用push上遠端server後,就可以到GitHub提出pull request給專案管理者,讓專案管理者做審查、接收更新。
有些時候,在本地端push完成回到GitHub,會直接出現下圖一的紅色框框,讓你能直接做pull request的動作。有時候則不會出現,但也能自己手動開啟pull request。
狀況一:直接出現pull request視窗
若在GitHub上直接出現下圖一(2–1.1),則按右邊綠色按鈕,進入pull request。
進入後會出現下圖二(2–1.2),請確定紅色框框右邊為目標分支(develop),左邊為開發分支(feature),確定後,再按右下角的綠色按鈕,就能成功pull request了,如下圖三(2–1.3)ㄧpull request的數字變成1。
狀況二:手動pull request
Step1. 切換到pull request視窗,按右下角new pull request按鈕。如下圖左(2–2.1)。
Step2. 將第一個紅色框框的右邊改為目標分支(develop),左邊為開發分支(feature),改完後就會出現下面第二個紅色框框,在按下create pull request按鈕。如下圖右(2–2.2)。
Step3. 按下右下create pull request,即可提出pull request。如下圖左(2–2.3)
Step4. pull request成功後,就可以看到上方的pull requests數字變為1。如下圖右(2–2.4)。
Merge分支
當pull request成立後,專案管理員即可將別人更新的專案內容合併進原本的專案裡。
Step1. 切換至pull request視窗後,會看到下圖一(3–1)。若是檔案沒有衝突,就可以按下紅色框框的Merge pull request。
Step2. 出現下圖二(3–2),則按下confirm merge,確認合併。
Step3. 出現下圖三(3–3),則表示merge成功,這時可以選擇要不要將分支消掉,可消也可不消。
協作心得:
原先還沒接觸多人協作時,只會自己用用git add ./git commit -m “Messages”,雖然自己也有翻書看,但頂多就加個不一樣名字的分支自己玩,其他功能多半都用不到,讀完就忘記。
而這次加入多人協作,才了解Git的世界浩瀚無垠。從一開始的push和merge就撞牆,一撞都是幾小時起跳,文章一篇一篇的看,不斷修正自己的步驟。幾次後才發展出自己的sop,然後和隊友分享、切磋,再更新自己。真的深刻的體會到,與其一直抱著書看,不如跳下去做,你才真的能夠懂這裡面的東西怎麼用。