理解git中的head和master

在master分支上,HEAD指向master,而master指向的是最近的一次提交。如下圖



當我們新建分支時,比如新建分支Dev,Dev會指向當前master分支的最近一次提交。

當我們使用命令:

[plain] view plain copy
  1. git checkout dev  

切換到Dev分支後,HEAD就指向當前分支Dev了。


在Dev上修改,比如修改helloworld.c,然後提交,分支Dev指向當前分支的最新提交,而master指向master分支的最新提交。

切換回到master分支:

[plain] view plain copy
  1. git checkout master  

然後再master分支上查看helloworld.c,我們發現並沒有被修改。



爲了將在分支Dev上所做的修改也作用的master分支上,也就是說將Dev分支合併(merge)到master分支上。

[plain] view plain copy
  1. git merge dev  

這時候master指向了Dev的最近一次提交。而head指向當前分支即master。



當利用分支Dev做好修改工作後,就可以把Dev刪除掉。兔死狗烹,卸磨殺驢。

[plain] view plain copy
  1. git branch -d dev  

發佈了232 篇原創文章 · 獲贊 89 · 訪問量 51萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章