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通常指向一個分支的名稱