Git极速入门教程
一、Git简介
  Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
二、代码版本管理工具
  代码版本管理工具主流的就两个SVN和Git,SVN早期企业内部开发用的较多Git因为开源社区GitHub和OSCHINA而被大家认可和接收,逐渐变的流行起来。
三、Git和SVN的区别
  Git 的版本信息的管理是先提交至本地,然后通过push和pull命令来和服务器进行同步。
  SVN的版本信息是直接和服务器进行同步的。
  两种同步模式有利有弊,SVN过于依赖服务器,操作相对简单,Git相对独立,操作相对繁琐。
  Git相对独立,操作相对繁琐。
四、客户端程序
- 基于SVN的服务器
- TortoiseSVN (svn可视化管理工具)
- 基于Git的服务器
- Git for windows (命令行B格)
- TortoiseGit (Git可视化管理工具)
- SourceTree(Mac os)
五、Git安装配置和使用
初始化配置(实名认证)
1 | git config --global user.name "18idc" |
Git基本命令
1 | # git 初始化 |
应用场景
回退版本
回退场景
1 | # 创建 q18idc.com.txt |
开始回退
版本关键字语法:
- HEAD:当前版本
- HEAD^:当前版本的上一个版本
- HEAD^^:当前版本的上上个版本
1 | git reset --hard head^ |
后悔药
时间机器可以回去也可以回来
1 | git reflog |
提交服务器
推送源码(把源码推送至服务器上,供其他人员同步更新)
和服务器连接之后,操作复杂度成指数上升(多个一起玩【冲突必然降临】,一个人玩【我的地盘我做主】)
1 | git push |
设置远程服务器地址并推送
1 | git remote add <name> <url> |
多人协同开发
克隆项目(小明下载代码或换了一台电脑)
1 | git clone https://github.com/18idc/blog.git |
小红负责写样式代码
1 | vim main.css |
把小红写的代码同步下来
1 | git pull |
分支使用
通过分支来开发新功能
1 | # 基于master创建新分支dev |
冲突
  小明和小红同时修改了POM文件,小明修改了MyBatis的版本号,小红也修改了MyBatis的版本号,这时就产生了一个冲突,Git无法判断保留谁的代码。
这时冲突的文件会产生如下代码
1 | <<<<<<< HEAD |
六、创建静态个人网站
- 新建项目(项目名称很特殊,必须是【用户名.github.io】)
- 通过上面所学的,把你个人网站的HTML上传上去
- 访问xxxx.github.io就可以访问你的个人主页了
七、小结
- 了解Git和SVN的区别(不同公司软件不一样)
- 掌握Git基本命令的使用(B格很高,掌握命令可视化界面并不难)
- 掌握分支的使用 (为了不影响主线代码,为了修改已上线版本的BUG)
- 掌握冲突的基本解决方法(帮Git做决策)
- 掌握代码同步 (git push 推送代码至服务器 git pull 从服务拉取代码)