git 进阶操作命令
工作区与暂存区
工作区
Tips
工作区就是在你电脑上的Repository下的某一个工作目录,比如:F:\Repository\test01这个目录。test01这个目录就是工作区,或者你新建的任何一个目录,都是工作区(.git隐藏目录下并非工作区)
暂存区
Repository目录下有一个(.git隐藏目录),这个就是控制版本的版本控制库。
Tips
(.git隐藏目录)存储了Git为我们创建的各种信息,包括版本信息,暂存区(这是最重要的),还有分支信息(Git已经为我们创建了一个master分支),还有一些配置信息等。
接下来在Repository目录下新建一个test.txt文件,在里面写入123456,然后进行下面的这些操作。

继续在test.txt中添加一行数据,然后使用git status查看信息。git会提示你有文件需要git add 并且git commit。
继续下面的操作!---把同一个文件提交到同一个暂存区中,并且使用commit提交到一个分支中。


这次将所有文件提交到一个分支(master分支)中了,可以使用git log查看你提交的所有分支。

这样看起来很碍眼,而且版本较多的话,看起来的确不方便,所有推荐使用
git log --pretty=oneline
接下来,你可以使用上一篇git基础教程讲过的方法对版本进行操作。基本命令请点击链接去查看...
撤销修改与删除文件操作
撤销修改
最简单的方法:手动修改
在你记得你修改了那些地方的情况下,直接手动撤销那些你不要的东西即可。
使用之前所使用的命令进行版本回滚
具体命令如下:
git log --pretty=oneline
git reset --hard HEAD^
git reset --hard HEAD~*
git reflog
git reset --hard 版本号
你可以使用这些办法进行你所需要的回滚。
使用git checkout -- test.txt ,不然会创建分支!
git checkout --test.txt 分为两种状态
git checkout --test.txt
- test.txt文件修改后,你没有使用git add命令对其进行提交到暂存区。使用git checkout --test.txt会回退到之前的一个版本。相当于回滚到你最后提交的那个版本。而刚刚修改的内容也将全部丢失。
- 另一种情况就是你已经使用git add提交文件到暂存区了。那这样使用git checkout --test.txt 就会保存已经在暂存区的内容。而没有写入暂存区的内容则会全部丢失。
接下来使用git进行操作查看。
首先在test.txt文件中添加一行数据 654321,然后使用git add命令提交到暂存区。

接着再在test.txt文件中添加一行数据 222222,然后我们不使用git add命令提交文件到暂存区。
最后我们使用git checkout --test.txt命令撤销修改,在查看文件。

跟上面的结论是一样的。
删除文件
rm 命令(linux下的软删除命令)
假如有人提交了tesxt02.txt的文件,但是这个文件缺失不需要的,我们可以使用rm test02.txt,然后在git commit就可以了。
新建一个test02.txt 文件
git add test02.txt
git commit -m "提交test02文件"
rm test02.txt
git commit -m "删除test02文件"


说明已经删除了文件并且已经commit了,当然假如你删除错误的话,你也可以回滚版本。

假如你已经使用rm test02.txt命令,但是却没有使用git commit命令呢?又改如何恢复文件?你可以使用下面的命令:
git checkout --test02.txt
rm之前:

rm 之后:

然后我们不使用git commit命令,使用git checkout -- test02.txt
使用git checkout -- test02.txt之后

文件又恢复了,恢复多个文件也是同理。
下面会涉及删除与撤销的操作!请继续浏览!