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