commit
分支branch
branch
本質上僅僅是個指向commit 物件
的可變指標。Git 會使用master
作為分支的預設名字。在若干次提交後,你其實已經有了一個指向最後一次提交物件的master
分支,它在每次提交的時候都會自動向前移動。
分支其實就是從某個commit物件
往回看的歷史。
建立新分支
1 | $ git branch <new_branch_name> |
這個指令僅僅建立了新的分支,而不會自動將所在位址切換到這個新分支上。要切換到新分支上,需透過下方的git checkout
指令:
1 | $ git checkout <branch_name> |
執行 git checkout
就是把HEAD
指標指到新的分支上。
捷徑:建立新分支,同時切換到該分支
1 | $ git checkout -b <new_branch_name> |
合併分支
使用merge
使用rebase
指向目前所在分支的HEAD
指標
指向目前所checkout的commit。
每次執行git checkout
指令,都會連帶改動HEAD
所指向的reference。
例如在執行下面代碼後:
1 | $ git checkout <a_commit> |
HEAD
就會同時指向該a_commit
。
HEAD
通常指向一個分支的名稱