在master分支上,HEAD指向master,而master指向的是最近的一次提交。如下圖
當我們新建分支時,比如新建分支Dev,Dev會指向當前master分支的最近一次提交。
當我們使用命令:
- 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