Git 系列文章(三)—— 分支
正文之前
上一篇文章中講述了 Git 的基本操作,這一篇文章著重講其中的分支相關的操作
正文
在 GitHub 的倉庫中,展現給世人的倉庫內容都是 master 主分支的,在團隊成員對倉庫進行改動時,需要將此倉庫 fork 至自己的賬戶中,並建立分支,在自己建立的分支中對倉庫進行修改,然後對源倉庫的 master 進行 pull request
一句話,對倉庫做貢獻就三個步驟:
-
fork 到自己倉庫
-
做改動
-
pull request
注意的是,在建立了 pull request,在擁有者還沒確認之前,如果還有改動,就別再建立 pull request,直接在你自己的分支上提交就可以(下文會驗證),之前沒有這個概念,在自己的專案裡,一項功能用了 3 個 PR,汗顏:
實戰演練
建立分支
還是用上次建立的 Git-test 倉庫來做演示:
首先我們先看到本地倉庫和遠端倉庫都只有 master 分支:
然後我們在本地倉庫新建一個分支:
git checkout -b A
推送至遠端倉庫:
git push origin A
就會發現遠端倉庫有了分支 A:
建立 PR
這時候我們切換到分支 A 中,將 README.md 的內容修改為:test from branch A
修改完之後回到倉庫介面,會發現有個提示,我們按照提示建立 pull request:
填寫資訊,並觀察此次合併有哪些檔案改動,在最下方發現了 README.md 文件的改動:
然後建立 pull request:
需要說明的是
因為這裡是我一個人操作的,所以擁有者和貢獻者都是我,但是在其他情況下,貢獻者一般不是本人,所以在這裡需要說明一點,貢獻完了之後,需要擁有者來點選 Merge pull request
這個按鈕,才能將分支合併,貢獻者是看不見這個按鈕的
這裡先不急著合併,來驗證一下上面的說法,在建立 pull request 之後,如果有更新怎麼辦:
將 README.md 中新增一行:Git-test,然後提交至分支 A:
然後我們再到剛才建立的 pull request 中檢視一下:
點選 Files changed
就會發現建立 pull request 之前的檔案和現在的檔案有什麼區別:
合併
點選合併之後,PR 就處於關閉狀態,倉庫的檔案也改變了:
從遠端倉庫拉取分支
我們在遠端倉庫建立一個分支 B,然後用 git checkout -b B origin/B
從遠端倉庫拉取分支並切換到該分支:
其他的操作都是一樣的,本地改檔案,提交,GitHub 上 PR
到此,分支的基本操作就結束了
GitHub 就是用來進行團隊合作開發的,所以在團隊使用 GitHub 時有一些注意事項,下一篇文章會講述