目录
[1、git add 文件名 添加到暂存区](#1、git add 文件名 添加到暂存区)
[2、git commit -m "注释" 提交文件到主分支](#2、git commit -m "注释" 提交文件到主分支)
[1、查看日志git log](#1、查看日志git log)
一、创建
目录下新建一个testGit版本库。进入该文件夹,右键通过命令行的方式打开窗口。
git bash here
通过命令 git init 把这个目录变成git可以管理的仓库
git init 把这个目录变成git可以管理的仓库。目录中生成.git的隐藏文件夹,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。
.git里面内容如下:
二、添加文件和修改提交文件
首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。
1、git add 文件名 添加到暂存区
创建文件readme.txt,并在里面写上一些话。
此时这个文件在工作区
通过git status可以查看文件追踪的情况
用命令 git add readme.txt添加到暂存区里面去。
我们发现添加到暂存区的时候会有警告出现。不过没关系,是换行符的警告。
我们可以看到readme.txt目前处于暂存区。
提交多个文件
git add 文件1 文件2 (此时添加文件1和2进入暂存区)
git add . (添加工作区所有文件到暂存区)
git add -A 提交所有变化
git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
撤销回工作区
可以通过提示的话来撤销回工作区 git rm --cached readme.txt
2、git commit -m "注释" 提交文件到主分支
git commit -m 'first commit'
现在我们已经提交了一个readme.txt文件了,我们下面可以通过命令git status来查看是否还有文件未提交
注意:注释是必须要写的。
3、修改后添加,提交
修改文件,在文件中加入一行。查看git的状态
我们发现文件进入到工作区
这里有两个提示分别是
1、修改后的readme.txt需要再次进行添加提交
2、或者checkout上一个版本的文件来覆盖修改后的文件
git checkout -- readme.txt
三、版本回退
1、查看日志git log
通过日志可以看到提交的注释,提交人,提交时间,提交的唯一标识符(sha1)等相关信息
git log命令显示从最近到最远的显示日志,我们可以看到最近三次提交
如果嫌上面显示的信息太多的话,我们可以使用命令 git log pretty=oneline 演示如下:
2、版本回退和撤销
2.1版本回退(当前的版本回退到上一个版本)
可以使用如下2种命令
第一种是:git reset --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset --hard HEAD~100 即可。未回退之前的readme.txt内容如下:
我们查看文件的内容:
查看提交日志:
第二种 :同时我们也可以通过sha1的前四位来做回退
git reset --heard sha1
2.2回退撤销(把回退的再撤销)
我们可以通过版本号回退,使用命令方法如下
git reset --hard 版本号
先通过git reflog获取当前的版本号
通过上面的显示我们可以知道,增加内容update 2的版本号是 8d95a43.我们现在可以命令
git reset --hard 8d95a43
查看撤销后的结果。
四、删除文件
创建几个txt文件用于测试删除
一般情况下,可以直接在文件目录中把文件删了,或者使用如上rm命令:rm b.txt ,如果我想彻底从版本库中删掉了此文件的话,可以再执行commit命令 提交掉。
git rm test.txt
我们发现删除的文件直接进入暂存区(此刻需要注意,如果使用rm删除不在暂存区,需要git add才会进入暂存区。如果进入暂存区可以退回工作区,使用下面命令 git reset HEAD test.txt
提交之后文件被删除。