Git 中的分支與指針概念
在 Git 中,每次提交會串成一條時間線,這條時間線形成了分支。當前的主分支稱為 master,並且有一個 HEAD 指針來指示當前所在的分支和提交點。以下是分支和指針的具體運作方式:
1. master 分支和 HEAD 指針的初始狀態
- 初始狀態:最初,只有
master分支,它指向最新的提交,而HEAD指針指向master。 - 提交更新:每次提交後,
master分支會向前移動一步,HEAD始終指向master的位置。隨著提交的增多,master分支的時間線不斷向前延伸。

2. 創建新分支的過程
- 新分支(例如
dev)的創建:當創建dev分支時,Git 會建立一個新的指針dev,指向與master相同的提交點。此時,HEAD會指向dev,表示工作已切換至dev分支。 - 快速創建:創建新分支非常快速,因為 Git 僅需新增一個
dev指針並修改HEAD的指向,並不會更改工作區的檔案。

3. 在 dev 分支上進行修改和提交
dev分支的獨立提交:從dev分支開始工作後,對工作區的修改和提交將針對dev分支。每次在dev分支進行提交後,dev指針會向前移動,而master指針保持不變。

4. 合併分支
- 合併至
master:當dev分支的工作完成後,可以將其合併回master分支。最簡單的合併方法是將master指針直接指向dev當前的提交點,這樣就完成了合併。這一過程非常快速,僅需更改指針指向。 - 不影響工作區:合併分支時,Git 僅移動
master指針,不會更改工作區中的內容。

5. 刪除 dev 分支
- 刪除分支:合併完成後,可以刪除
dev分支,這只會移除dev指針,系統將回到單一的master分支。刪除分支不會影響合併後的歷史記錄或工作內容。

