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 的合并操作比其他系统都要简单不少

参考:

Git远程操作详解
Github简明教程
What is HEAD in Git?
分支 - 分支的新建与合并

Table of Contents