Git学习之思维导图

作者: Jadyn_Wu | 来源:发表于2016-07-05 11:27 被阅读6397次

用思维导图的形式学习Git,本文只是整理了git快速使用的导图,如果想要更深入的理解git,或者完成更加复杂的操作,需要系统性的学习。
注:思维导图的最后是终端命令,由于字体的关系--连成一起,读者看到长的-其实就是--

在使用git前,可以看看我整理的终端中最基本的文件操作:

常用终端操作.png

Git简介

一种分布式版本管理工具
版本工具:用来管理一个文件夹中文件内容的变更,并记录下每个版本。
版本工具分类:1.分布式 2.集中式
集中式版本控制:SVN等、适合公司里用,服务器管理,每个人的版本都是提交到服务器,以服务器为主,服务器坏了就拉不到。
分布式版本控制:安全,每人本地有个版本库,每个人都可以充当‘服务器’

我主要把Git分成下面几个大类
Git.png

1.版本库

什么是版本库?
一个文件仓库,仓库里面的文件的增删改,git都能跟踪到。

版本库.png

那怎么才能追踪文件的变化呢?---->创建版本库

当创建了一个版本库,那么就会生成一个.git的文件,这个文件就是用来追踪版本的,千万不要没事去动它

创建版本库.png

本地在提交到版本库前,会先进入暂存区,再提交到版本库。

添加到版本库.png

2.版本之间的穿梭

Git在不同版本之间可以穿梭,通过版本号和次序。

版本穿梭.png

版本列表中会带有版本号,这个版本号可以指定版本回退


查看版本列表.png 回退版本.png

当你回退过版本,并不会导致,你回退前的版本消失,它还在,你可以撤销回退。


重返未来版本.png

由这幅图能看出,版本库的撤销可以通过回退版本,而暂存区,则可以细分回退,单个文件回退。


撤销修改.png 删除文件.png

3.分支

版本分支.png
创建与合并分支

使用git可以设计适用不同团队的分支策略,推荐大家看一下gitflow,有一套很不错的项目分支策略,和基于git的更加简单的代码

当一个分支没有commit的时候,是不能切换到其他的分支的。

创建与合并分支.png
stash储藏工作现场

当你手头的代码写了一半,这个时候你的老大叫你马上切回develop,修改一个紧急的BUG,这个时候提交到暂存区不是个好的方法,那么久用到stash操作,它可以保存工作现场,让你可以切换到其他的分支去,等在其他分支解决完BUG,再回来,可以恢复工作现场

stash.png
多人协作
多人协作.png

4.版本标签

用来记录众多提交的小版本中,重大意义的版本(打包上传APP活安卓市场)对应的版本,这样一来,就可以找到历史中是哪个是大版本了。

版本标签.png

相关文章

网友评论

  • Suremotoo:很棒!
  • b6324ccb8936:团队合作的远程库指的是github上的库,还是可以像svn一样自己搭建远程服务器?
    Jadyn_Wu:@我的青春我的梦 git类似于 每个人都clone一份改,改好了汇总提交,而每个人clone的那一份都可以当做是服务器 而svn就是在改服务器的那一个版本
  • Eazow:请问这个思维导图是用什么画的?感觉UI不错
    Jadyn_Wu:@Eazow MindNode
  • 9a58f0a89ed4:不行啊,感觉还是很多看不懂啊
    Jadyn_Wu:@森森带你飞 这篇文章是归纳 是指至少你知道git是干什么的时候,可以用这个整理巩固 如果要整体学 可以看这个 : http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
  • 推遍天下无敌手:弱弱的问一句楼主的思维导图是用什么软件做的
    Jadyn_Wu:@推遍天下无敌手 MindNode
  • YYRise:导图用的哪个软件?
    Jadyn_Wu:@YYRise MindNode
  • 凉了夏天宝贝:写的很不错,给楼主点个赞
  • 9731453bf2b6:有用,期待更多文章。
  • leisurehuang:文章还不错,但是有些地方用中文描述,感觉怪怪的。
    Jadyn_Wu:@leisurehuang 是那些地方呢?
  • 追风筝的荧火虫:写得真心不错,学习了。顺便问下有没有关于集中式版本控制 SVN 的相关文章,也想一并学习下,公司在用。
    Jadyn_Wu:@Kiwir_Tank SVN我一般是用cornerStone这个软件管理的,没有用代码写过,不过git都会了,还怕SVN么
  • Storydo:哎,前几天在简书一个哥们那里看到说git reset --hard会删除提交,说让大家谨慎使用,我说你这用词不准确,这就是一个将当前工作区指针指到某个版本,并不会删除,还可以退回去,不要误导大家,他非要抬杠,说了一堆乱七八糟的东西,后来也懒的理他了,你这里说的挺准确的,看你说话,你是不是dota选手啊
    Jadyn_Wu:@拾心11 我没有遇到过push了有conflict的哈,我只遇到过pull的时候会有,你说的意思是当本地回退版本的时候,远程的版本比本地新,然后必须要先pull再push 不然会合并或者冲突是吗?
    拾心11:@Jadyn_Wu 这个我查的reset --hard 最好是在自己的代码没有push 到远程库时使用 push 之后使用一堆conflict 楼主可以详细讲解一下reset 和revert么
    Jadyn_Wu:@Storydo 是的,哪怕回退过版本,还是可以回到回退前的,还有居然被你看出来我是dota选手。。。。真是慧眼识金啊
  • selfim:写的非常好
  • 53716c098fd5:不错哦。对刚接触 git 的人挺实用的。
  • 魔鬼分界线:写的非常到位
  • 大旭SG:挺好的
  • flyinglove:一直想用思维导图,但从来都没用过
  • 微小码:写得浅显易懂,赞
  • iqiq:写得不错
  • 429df126e8b2:不错哦

本文标题:Git学习之思维导图

本文链接:https://www.haomeiwen.com/subject/dtshjttx.html