为什么要学Git
1、必点天赋
2、必然趋势
上半部分内容:
1.Git简介及安装
2.Git实战操练
Git是目前世界上最先进的分布式版本控制系统。
版本管理系统能干什么
集中管理型版本管理
经典的集中管理型(CVS、VSS、SVN)
特点:
实现了大部分开发中对版本管理的需求
结构简单,上手容易。
提问:
1、版本管理的服务器一旦崩溃,硬盘损坏,代码如何恢复?
2、程序员上传到服务器的代码要求是完整版本,但是程序员开发过程中想做小版本的管理,以便追溯查询,怎么破?
3、系统正在上线运行,时不时还要修改bug,要增加好几个功能要几个月,如何管理几个版本?
4、如何管理一个分布在世界各地、互不相识的大型开发团队?
下载Git
1、命令行工具:Git for windows
下载地址:https://git-for-windows.github.io/
2、 操作系统中可视化工具:TortoiseGit
下载地址: https://tortoisegit.org/
3、 Idea 插件
4、 GitHub网站
http://www.github.com
Git的安装
选择Git命令的执行环境,这里推荐选择第一个,就是单独用户Git自己的命令行窗口。
不推荐和windows的命令行窗口混用。
在“Configuring the line ending conversions”选项中,
第一个选项:如果是跨平台项目,在windows系统安装,选择;
第二个选项:如果是跨平台项目,在Unix系统安装,选择;
第三个选项:非跨平台项目,选择。
在“terminal emulator”选项中,
第一个选项:使用专用的Git窗口(推荐)
第二个选项:使用windows的cmd命令行窗口。
在“Configuring extra”选项中,
默认开启文件缓存即可(推荐)
安装完成后,在任意的文件目录下,右键都可以开打Git的命令行窗口。
安装完成后,还需要最后一步设置,在命令行输入如下:
Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
C:\Users\admin路径下的.gitconfig文件里面可以看到
–global 表示全局属性,所有的git项目都会共用属性
2.Git实战操练
1.创建版本库
在项目文件夹内,执行: git init
2.提交文件
新建文件后,通过git status 进行查看文件状态
将文件添加到暂存区 git add 文件名
提交文件到本地库 git commit
编写注释 ,完成提交
或者也可以git commit –m “注释内容”, 直接带注释提交
3.查看文件提交记录
执行 git log 文件名 进行查看历史记录
git log --pretty=oneline 文件名 简易信息查看
4.回退历史
git reset --hard HEAD^ 回退到上一次提交
git reset --hard HEAD~n 回退n次操作
5.版本穿越
进行查看历史记录的版本号,执行 git reflog 文件名
执行 git reset --hard 版本号
6.还原文件
git checkout – 文件名
7.删除某个文件
先删除文件
再git add 再提交
理解工作区+暂存区+本地库
工作区(Working Directory):就是你电脑本地硬盘目录
本地库(Repository):工作区有个隐藏目录.git,它就是Git的本地版本库
暂存区(stage):一般存放在"git目录"下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
Git的实战操练—分支
系统上线了,但是产品经理又提了新的需求,评估一下工期要两个月,但是同时系统正在上线运行,时不时还要修改bug,如何管理几个版本?
创建分支
git branch <分支名>
git branch –v 查看分支
切换分支
git checkout <分支名>
一步完成: git checkout –b <分支名>
合并分支
先切换到主干 git checkout master
git merge <分支名>
冲突
冲突一般指同一个文件同一位置的代码,在两种版本合并时版本管理软件无法判断到底应该保留哪个版本,因此会提示该文件发生冲突,需要程序员来手工判断解决冲突。
合并时冲突
程序合并时发生冲突系统会提示CONFLICT关键字,命令行后缀会进入MERGING状态,表示此时是解决冲突的状态。
解决冲突
此时通过git diff 可以找到发生冲突的文件及冲突的内容。
然后修改冲突文件的内容,再次git add 和git commit 提交后,后缀MERGING消失,说明冲突解决完成。
下一篇博文介绍GitHub。