git基础操作
基础知识
Git分为三种状态,你的文件可能处于其中之一:已修改(modified),已暂存(staged),已提交(committed)。分别对应三个逻辑区:工作区,暂存区,仓库(数据目录)。
操作演示
git init test
此命令初始化一个新本地仓库,它在工作目录下数据目录生成一个名为.git的隐藏文件夹。git会将所有的文件,目录,提交等转化为git对象,压缩存储在这个文件夹当中。
git init 命令后面不加参数表示把当前目录变为仓库,如下表示在当前目录下创建test仓库
git status
查看当前git状态
这里表示的是暂存区没有文件,可以提交到暂存区的文件有test1.txt和test2.txt
我们要用git add
来提交到暂存区(也可以理解为建立跟踪)
git add
git commit
将文件由暂存区提交到仓库
-m 参数表示提交时的备注
可以看到尽管我们提交了test1.txt文件,但是我们还是在跟踪test1.txt文件
这时我们再修改test1.txt文件,在使用
git diff test1.txt
可以看到,当我们没有修改test1.txt时,使用git diff
命令时,是不会有显示的,当我们进行修改了之后,再diff就有显示,git diff
表示工作区和暂存区的区别,这时侯我们还没有把工作区修改的文件提交到暂存区,自然有显示,当提交了就没有显示了
git log
我们使用git log
查看提交到仓库区的记录
查看下历史记录,HEAD我的理解就是指针,指到最后提交的版本,提交的越早的在最低下。
这是同时修改个文件的git diff效果
这是同时提交多个文件到仓库的效果,还是以最近一次提交为head指针,但是区分不出具体提交的文件名。
git reset --hard [版本号]
可以回退到之前一个版本,这时test1.txt的内容对应这个版本的内容
git reflog
当我们使用git reset
进入之前的版本号后,会看不到最先开始的版本号,这时我们可以通过git reflog
来进行查看。