
Branch 入門
更新 Repositors
使用 Remote Repository 更新本地 Repository。
git pull

查看 commit 歷程檔案。
git log

Branch
Git 的關鍵特性之一是它支援 Branch(分支),它允許開發人員同時處理 Repository 的多個版本。Git 分支是一條獨立的開發線,與主要程式不同。 Git 中的主 Branch 通常稱為 "master" 或 "main",對 Repository 的所有更改都在主 Branch 上進行。

開發人員可以創建新 Branch 來開發特定功能或修復 Bug。
Feature branch: 是一種特定類型的 Git Branch,用於開發新特性或功能。 當開發人員創建一個新的 Feature branch 時,通常以正在處理的功能命名它,然後在該分支上工作直到該功能完成。 功能分支與主分支隔離,這意味著在 Feature branch 上所做的任何更改都不會影響主 Branch,直到它們被 Merged(合併)。
複製主要的 Branch 並建立 Branch。
git branch <Branch 名稱>
git checkout <Branch 名稱>

查看 Commit (提交) 歷史。 (僅顯示 Commit 標題和摘要)
git log --oneline

首次 Push Branch。
git push --set-upstream origin
顯示當前 Branch 上最近 Commit 的詳細訊息。
git show
git show <Git SHA-1 ID>

將 Branch Merge (合併) 到當前 Branch。(又稱 Merge commit)
git merge <要合併的 Branch>
必須先將更改 Commit 或 Stash。(如果有的話)。
Merge conflict
當 Git 無法自動解決正在 Merge 在一起的兩個或多個分支之間的差異時,就會發生Merge conflict(合併衝突)。 例如:兩個或多個分支以不同方式對同一文件進行更改時,可能會發生這種情況,這樣 Git 無法確定應優先進行哪些更改。
當 Git 檢測到合併衝突時將會停止合併,並指出哪些文件存在 Conflict。 然後由使用者透過手動編輯衝突文件來解決 Conflict。

Merge tool
使用 Merge tool 可以解決 Command line 介面衝突的問題。(預設使用 Vim) 例如: P4Merge、KDiff3
安裝 Merge tool。

設定 Merge tool。
git config --global merge.tool p4merge
開啟 Merge tool。
git mergetool



執行因 Conflict 而暫停的 Merge。 ( (含 Commit,會開啟編輯器編輯 Merge Commit 資訊)
git merge --continue

Pull Request
Pull Request(拉取請求)是一項功能,允許開發人員將更改的內容 Commit 到 Remote Repository 上,以供審查和集成到主要的程式碼中。
當開發者想為一個項目貢獻時,他們首先在 Git Repository 中創建一個新的 Branch,並在該 Branch 上進行修改。Pull Request 通常包括所做更改的摘要、任何相關註釋或文檔,以及代碼更改的差異或比較。
一旦貢獻的內容完成,開發人員就可以提交 Pull Request,要求 Repository 維護者 Pull Branch 檢視並將它們 Merge 到 Main branch 中。

Repository 的維護者可以審查更改,並決定是接受還是拒絕 Pull Request 。如果接受,更改將合併到 Main branch 中,如果拒絕,開發人員可以修改他們的更改並重新提交 Pull Request。
Pull Request 可以幫助維護 Repository 的完整性和穩定性,因為更改在 Merge 到 Main branch 之前,需要經過審查。
點擊和發布 Pull Request。


預覽和比較(Comparing)變更,最後確定建立 Pull Request。

編輯 Pull Request 資訊。
Reviewers(審閱者):是負責審閱 Pull Request,並向 Assignees 提供反饋。審閱者可以對提議的 Pull Request 進行修改或請求開發者進行其他更改。
Assignees(受讓者):是負責完成 Pull Request 和 Merge。

查看 Pull Request。


審查 Pull Request,並提供意見。 (必須擁有權限)

審查結束,選擇 Merge 模式,進行 Merge。



更新本地 Repository。
git pull
參考資料
Last updated
Was this helpful?