你还在用svn?git你无法拒绝的版本管理工具

2018-07-19  本文已影响0人  我不吃姜

序言:之前在公司培训过git入门,效果不错。然后我把分享的提纲完善补充了一下分享给需要的人,后期考虑录一个视频讲解一下

本文旨在教你了解git设计原理,以及怎么快速的使用git进行版本控制,对于理解和学习git有很大的帮助,如果是git老手大可忽略了

1. git安装

直接访问https://git-scm.com/downloads下载对应系统的git安装包,然后一路安装就可以了,比较简单

2. git设计理念

git是一个分布式的版本控制管理工具,它不同于传统的集中式管理工具,例如svn,cvs。使用git协同管理的代码在本地都会有一个完整的仓库备份,这是极为安全的,不会因为服务端的问题导致代码的丢失。

git版本的管理是快照式的,每一次的提交,相当于生成了这个文件的快照。对同一文件的修改,如果分两次提交,那么就会有两次快照,即有两个版本。

git的提交都是基于本地仓库的,所以你可以单机运行不联网肆意的提交,当适时的时候push到远程仓库即可。不用担心自己频繁地提交会产生更多的冲突,同样git是提倡积极提交的,这样可以更好的追踪文件,当然在你push到远程的时候,要保证代码的正确,可编译运行,否则将会影响其他协作的开发人员。如果还是不小心提交了错误的代码,通过沟通也是很快就可以解决的。

3. git快速上手体验

ps:这部分最好能手动跟着我的思路操作一遍,这样你对git的魔法就会有一个表深刻的印象。

暂时体验到此,后续我们会继续边讲边演示

4. 工作区和暂存区、本地仓和远程仓概念

下面这个图是我总结的git的基本设计理念,一定要重点理解。各个区间的转化我用箭头+命令的方式展示了出来,这里可以帮助你理解这些常用命令执行的逻辑,所以一定要吃透。
这里我简单介绍下,如果还有疑问请在下面回复,我都会解答的。

四个长条矩形分别代表了四种不同状态的空间

1.展示的是你工作目录文件的实时变化,也就是ide里面直观看到的,改了什么就是是么
2.暂存区是git提出的创新概念,这里是个临时区域,我们无法很直观的看到,这里存放的是暂时行文件,也就是你准备要提交的内容,可以将多个文件一次性放到暂存区里,只需要提交一次,这些暂存去的内容就会都被提交
3.本地仓库这里存放里你提交的所有文件的版本以及别人提交的文件,是一个完整的版本库
4.远程仓库存放了所有的文件版本信息,主要用来团队协作的

git设计理念.jpg

5. git仓库(比较好理解)

通过上面的图就很清晰的知道,仓库分为本地仓库和远程仓库前面我们已经知道如何创建一个仓库,并提交版本管理到本地仓库,这节我们介绍下如何创建远程仓库。

6. git分支管理(可以说是git最强大的地方了)

  5.然后我们选择保留哪一些,去掉<<<<<<<=======>>>>>>>,add并提交,冲突解决完毕,最终修改内容
  ![merge.jpg](https://img.haomeiwen.com/i5416778/e4cf474b57cabe49.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

7. git常用功能和技巧

8. git实际工作中的使用和一些常见的问题

  1. 如果你使用的是git命令的话,错误出现时首先是仔细阅读错误提示,一般错误提示都很明确,通常也会给出解决的方案,只要你理解了git的工作原理,相信很快的就能解决问题
  2. 我的建议是也是git命令+图形化工具结合的方式。git命令更有助于你强化git思想,当然这个不会强制要求,个人的工作方式不一样。
  3. 我们大部分的工作基本也就是add + commit + merge + pull + push五个命令
  4. 自动合并,一般不用我们干预,代码会自动进行合并,使用命令可能会弹出合并的说明,这个直接直接输入:q!回车跳过就可以了
  5. 合并中间状态 merge | master ,进入这种状态是git无法进行自动合并,需要我们自己来处理冲突,这个时候你首要的任务就是要处理冲突,处理完之后把文件add并commit,这个时候你才真正的处理完了冲突,你的分支也显示正常了
  6. 合理的规划自己的本地分支。个人建议本地与远程仓库交互的分支不要直接作为开发分支

9. git flow简述

10. git标签

上一篇 下一篇

猜你喜欢

热点阅读