前言
问:Git是啥,它是用来干什么的?
答:Git是一种分布式的版本管理系统,通俗来说就是备份文件,我们“农民”就是用来管理代码文件,并且可以在不同版本的文件中来回切换。
1.Git的下载
直接进入官网下载,有windows,Linux,MacOS环境下的安装包。Git官网,我这里是Windows环境下的。安装还是比较简单的,这里不再赘述。
2.Git的使用
(1)注册
在安装下载完毕之后,你得注册一下,设置一下自己的身份。
双击Git Bash,进入终端界面,输入:
$ git config --global user.name "User Name"
“User Name”改成自己想要的用户名,然后回车。
然后再输入:
$ git config --global user.email "email@xxx.com"
"email@xxx.com"改为自己的邮箱就行了,然后回车。
(2)使用
举个例子,首先在桌面新建一个GitTest文件夹,右键,然后点击Git Bash here进入终端命令界面。输入:
git init
可以看到,GitTest文件夹里增加了一个git文件夹,至此,GitTest这个文件夹里的文件更改以后就可以被备份记录了。
我们把代码保存在GitTest里的Test.c文件。
然后,我们正式开始写bug…一杯茶一包烟,一行bug改一天。啥也不说,首先就是一行
printf("我玩打野");
然后Ctrl+s,这个时候就正式使用Git来备份了,共两条命令。
1.在刚才的终端输入
git add Test.c
把代码文件存入了缓冲区
2.再输入
git commit -m "我决定玩打野了"
这个时候就把文件正式提交到Git仓库了。-m以及双引号内的内容是对此次文件备份的一个说明,这一点不要少。
(3)切换回原来的版本
之前已经提交了一个版本的文件了,然后又接着继续开发,多添加了一行代码
printf("我玩打野");
printf("法师来拿蓝");
跟之前一样,继续提交当前版本的文件,输入这两行命令:
git add Test.c
git commit -m "让法师来拿蓝"
刚提交完,老板说不行,还是用原来的代码,这时候咋办?不慌,直接终端输入:
git reset --hard HEAD^
就可以将文件回退到上一个版本。HEAD表示的是当前的一个版本文件,一个符号"^"表示上一个版本,两个代表上上个版本,以此类推。此时我们就可以看见Test.c文件的内容变成了
printf("我玩打野");
的确还原成了上一个版本。
假设当你提交了50个版本之后,这种方法显然不可行,你可以输入命令:
git reset --hard~50
当然,你要是愿意用符号,当我没说…
现在我们可以用命令
git log
查看一下版本的情况:
可见当前版本为我们第一次提交的版本。我们也可以看见commit后面有一大串的标识,这个就是每个版本的ID,是我们找回版本的重要依据。当我想要切换回第二个版本,但是之前提交的第二个版本的信息已经不见了,咋办?也不慌,直接输入
git reflog
这个命令可以查看你历史命令的记录,可以看到
第二个版本的ID号出现了,再接着输入:
(ps:这是又一种版本切换的命令,跟上面说的那两种命令效果是一样的)
git reset --hard 9af586b
得到
再输入git log查看版本信息
查看Test.c文件
printf("我玩打野");
printf("法师来拿蓝");
可见,版本又切换回去了