Git 使用
git工具与svn相比,使用上看,最大的不同就是git有本地分支,需要先commit到本地,在push到远端的branch上。
MyQA
HEAD有什么用?
How does Git know what branch you’re currently on? It keeps a special pointer called HEAD.The git branch command only created a new branch — it didn’t switch to that branch.HEAD file pointing to the branch you’re on.
HEAD的作用相当于一个指针,告诉你在那个branch。很多操作都需要有个默认的branch的。
三段提交
add到本地index,commit到本地(会更新HEAD),最后在push到remote
git操作的基本对象是branch?
说法有些不恰当,所有的操作都是在一个branch上的,例如如下命令:
git checkout master
git merge iss53
如果单独看第二条merge iss53,那么其实是不清楚是哪两个分支合并的,有个隐含的意义是把当前分支与iss53分支合并。
git的优化
值得一提的是 Git 可以自己裁决哪个共同祖先才是最佳合并基础;这和 CVS 或 Subversion(1.5 以后的版本)不同,它们需要开发者手工指定合并基础。所以此特性让 Git 的合并操作比其他系统都要简单不少