【Git可视化】立刻入职腾讯的我瑟瑟发抖,恶补git知识就靠这个技巧!

git自linux之父发明以来,一直是不少互联网企业组织团队协做写代码的利器,因此,只要入职公司,无一不要求学会git。linux

作为刚毕业的小松,已经脱离了毕业生身份,虽然作过一些项目,可是git用得不多,立刻入职了,对于git内心没底,碰巧看到一位知乎老哥推荐,点进去一看,立马打开了新世界的大门!学得那叫一个酣畅淋漓,一块儿来学学吧。 进入这个网站,会看到如下目录 git

在这里插入图片描述
能够看到这是一个闯关模式,分为基础,高级,移动提交记录和杂项四个部分,我本身感受学完基础和高级的一部分就已经可以解决工做中大部分需求了。

基础篇

git commit

这个操做时提交新的版本,如图。 git commit 前 sql

在这里插入图片描述
执行

git commit
复制代码

在这里插入图片描述
不只仅为了过关,这里从图中很清晰的看出,原来是c0,c1两个提交,而后git commit以后就会多一个提交。

这个master什么意思呢?就是所处分支的名字,不管你用git commit提交了多少次,c0,c1,c2,c3……都属于一个名叫master的分支,而master旁边的星号表示的是当前处于的分支。这样能够实现不一样分支的跳转,也能够实现同一个分支不一样提交记录的转换。 若是咱们想回到c1,可是又不想撤销c2的话,咱们就能够经过命令让master指向c1,若是咱们有其余分支,咱们就可让星号移动到其余分支学习

上面这一段很重要,是理解下面内容的基础网站

也就是说,git的本质就是一棵提交的树,能够反复提交不断修改,可是以前的提交记录是能够找到的,每次是谁提交,内容是什么,时间均可以看到!spa

git branch

在这里插入图片描述
执行

git branch newImage
复制代码

执行完 git branch newImage后,显然,将会出现一个新的分支,你猜猜这个新分支出如今哪里呢? code

在这里插入图片描述
是否是以为有点奇怪?分支其实并非真正的提交,仅仅只是一个名字,真正的提交记录是c0,c1!而不管是master仍是newImage都是为这个分支命名而已,这里仅仅是新建了分支,并无其余操做,因此他默认指向原来的提交记录。 如今,咱们不只要有新分支,并且新分支指向不一样的提交记录,怎么办?固然是用git commit啦。 执行

git commit
复制代码

在这里插入图片描述
这里为啥master前进了? 这是必须的,由于*星号表示当前分支,咱们虽然新建了分支,可是当前分支,也就是最下端咱们能看到的仍是master,因此newImage被放到了上面,因此,要想之后在newImage上提交东西,必须先进行切换。

git checkout <name>

这里咱们先不输入 git commit,而是在这以前使用git checkout。cdn

执行视频

git checkout newImage
git commit
复制代码

在这里插入图片描述
能够看到,先切换到newImage后,星号落在了newImage上,而后再git commit,就能够完成新分支指向新提交记录的建立,不会影响老分支和老提交记录。 那如何让两个分支没有关系,独立发展呢?很简单,只须要切回到master分支,而后再提交一次便可。

执行blog

git checkout master
复制代码

在这里插入图片描述
能够看到 *号移动到master那里了。

而后再次执行

git commit
复制代码

在这里插入图片描述
发现两个分支真正的完成了分离。 是否是以为很nice,之后想要切换就能够用git checkout来回移动,左右横跳啦!

git merge <name>

分支创建多了,天然须要合并,这里的merge就是这个功能,两个分支,合并后的名字属于谁呢?一猜就知道,当前分支是哪一个,合并后的分支就是哪一个名字,也能够说在当前分支master上执行 git merge bugFix,就是将bugFix归到master中,更好理解。

在这里插入图片描述
执行

git merge bugFix
复制代码

在这里插入图片描述
为了表示方便,将bugFix的颜色转换一下,左边的命令尚未执行。
在这里插入图片描述
如今咱们有两个分支master和bugFix,咱们但愿两个分支都拥有全部的修改的记录,因此咱们还要再执行一次git merge master,可是因为当前分支在master,咱们还要先切换到bugFix中。 执行

git checkout bugFix
git merge master
复制代码

在这里插入图片描述

这样两次合并,就使得两个分支都拥有所有的提交记录了,咱们新建的两个分支,最终又合为一体。

小结

上面的东西虽然少,可是足够完成不少工做,授人以鱼不如授人以渔,网站以下: learngitbranching 我曾在几个月前试图学习git,可是不管是博文仍是视频每每都有讲述不清楚或者引发歧义的地方,只有真正的可视化才能让人弄懂,致敬做者!

一块儿加油学习git吧,少年。

相关文章
相关标签/搜索