在實際演練 Git 的分工合作時,趁著印象還深刻的時候,記錄一下可能會發生的情境、指令使用和圖像化工具協助你釐清現在的專案狀況。
前置作業
以普遍使用的 Github 平台為例,你需要自己先新增一個專案當作 master ,或是從他人的專案 fork 一份回來。接著,你需要設定要保護的分支(通常就是master),以及任何的 branch 也合併(merge)到master上,都需要他人的 approve 才行。完成上述兩個步驟後,就算是完成了。
關鍵指令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
/* 使用者在協作Code專案時,要注意主線master是最後大家的成品集中地,不可以在master上面直接作業。每次要作業前,先開個branch吧。 若我要將新建的branch命名為abc,那麼指令為:*/ git branch abc //若你想更換名字(如變成xyz),則可以用: git branch -m abc xyz //完成branch後,將其push到遠端,那麼指令為: git push origin/master abc //這麼一來就把abc branch推到遠端了,記得要先commit後才有東西可以push。 /*branch可以當作自身code的存檔。不過若你想要刪除branch,可以用:*/ git branch delete abc //接著你可以在任何時候使用以下指令來獲取遠端更新: git fetch origin /*當你發現遠端的master有更新了,你可以用git checkout master //記得要先完成所有commit,不然會不給切換 切換到master後,再用以下指令合併*/ git merge origin/master /*最後的git merge的常見狀況就是 conflict,這個若用command line編輯, 會逼的你要使用vim編輯器。幸好 github 本身可以讓你使用線上編輯器的功能。*/ //衝突的地方會長的像這樣: >>>>>>abc test >>>>>> test2 >>>>>Master //編輯完後,記得把標記符號刪掉,再進行merge。 /*最後,為了方便使用者能夠理解現在的主線分支發展,會由一些圖像化工具協助。 下圖是使用 Fork這軟體 所截的圖。*/ |