理解git中的commit,master,branch,head
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