1. 程式人生 > >Git 系列文章(三)—— 分支

Git 系列文章(三)—— 分支

正文之前

上一篇文章中講述了 Git 的基本操作,這一篇文章著重講其中的分支相關的操作

正文

在 GitHub 的倉庫中,展現給世人的倉庫內容都是 master 主分支的,在團隊成員對倉庫進行改動時,需要將此倉庫 fork 至自己的賬戶中,並建立分支,在自己建立的分支中對倉庫進行修改,然後對源倉庫的 master 進行 pull request

一句話,對倉庫做貢獻就三個步驟:

  1. fork 到自己倉庫

  2. 做改動

  3. 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 時有一些注意事項,下一篇文章會講述