在做的一个项目中需要使用git,由于项目规模较大,需要多人合作,因此要用到git相对较多的功能,顿时发现以往的 单机版的知识是很不够用的,仅仅掌握git add . ,git commit ,git reset,git clone在面对相对复杂的情况之时就会直接懵逼。本来想着按部就班地做,只掌握简单的功能就好,结果由于掌握的太简单,今天直接把工程删光了提交上去了......算是坑了一波队友(虽然明白了以后发现这也没什么大不了的,很容易解决),这也促使我下定决心,必须把git学的透彻一点。
首先,基本概念必须明确,对于你的每一次提交,git都会保存一个快照,每一个涉及数据修改的命令也都会记录在案,因此不管你干了多蠢的事,只要反应及时,别把git库破坏了(一般来讲不会发生,除非你把.git文件删了),都有后悔药可以吃。
然后对于分支必须要了解透彻,分支其实是有一个起始点的,这个起始点很重要,它取决于你创建分支时HEAD指针的位置,如图所示
注意看分支是有一个节点的,分支在刚创建时会拥有那个节点的所有信息,包括之前提交的版本等,而那个节点一般就是创建分支时HEAD指针的位置,每个分支也有自己的指针,一般情况下会位于最新的提交点处,切换分支时HEAD指针就会直接移动到相应分支的指针位置。