git倉庫的基本骨架是若干commit的拓展而成,master和其他branch是引導commit的延伸方向,可以理解成引導者;一個git倉庫僅有一個head,head指向引導者(branch),當前分支是哪個,head就指向哪個分支。
git倉庫的廚師狀態:
新建分支Dev,Dev會指向當前master分支的最近一次commit。
當我們使用命令:
git checkout dev
切換到Dev分支后,HEAD就指向當前分支Dev了。
在Dev上修改,比如修改helloworld.c,然后提交,分支Dev指向當前分支的最新提交,而master指向master分支的最新提交。
切換回到master分支:
git checkout master
然后再master分支上查看helloworld.c,我們發現並沒有被修改。
為了將在分支Dev上所做的修改也作用的master分支上,也就是說將Dev分支合並(merge)到master分支上。
git merge dev
這時候master指向了Dev的最近一次提交。而head指向當前分支即master。
當利用分支Dev做好修改工作后,就可以把Dev刪除掉。兔死狗烹,卸磨殺驢。
git branch -d dev
