版本回退
1.前面提交了一次mygit.txt,下面对它的内容进行修改,内容如下:
Hello Git
Git is so easy
然后用git status来跟踪文件的状态
2.可以看到hellogit.txt已经被修改过了,到底这次的修改与上一次的内容有什么不同的,咱们可以使用git diff查看:
git diff
3.当然也可以查看上次提交的信息,使用git log:
4.通过上次的学习,我们可以知道该文件还处于工作区,因此我们又可以使用add,commit操作了:
git add hellogit.txt
git commit -m "add Git is so easy"
这里面,笔者偷懒了,直接用-m表示提交的信息。
5.提交完成后,再用git status来跟踪一下:
这里依然是:Git告诉咱们当前没有需要提交的修改,而且工作目录是干净的。
6.git reglog,它主要用来记录每一次命令和commit id(这个命令非常有效,建议大家经常使用)
7.假如你现在不想修改,想回到原来的版本,使用git reset --hard HEAD^
8.假如你又想修改回去,使用git reset --hard commit-id
撤销修改:
下面再次对于hellogit.txt进行修改,内容如下:
hello Git
git is so easy
easily learn the git
1.然后,我们用git status跟踪状态:
2.git checkout--file可以丢弃工作区的修改:
命令git checkout--hellogit.txt意思是,把hellogit.txt文件在工作区的修改全部撤销,然后再查看
状态:
内容又改回来了,这样就完成了一次简单的修改撤销。
3.如果把文件修改为原来添加时的:
hello git
git is so easy
easily learn the git
git add hellogit.txt到了暂存区,通过git reset HEAD hellogit.txt来返回工作区状态。
回到了工作区,就可以向之前那样,使用git checkout -- hellogit.txt。
这样一切又回到了原来的状态。如果还需要从暂存区提交到版本库,使用上面的版本回退,可以回到上一个版本就ok了,不过如果还将本地的修改推送到远程的版本库,就没办法修改了。
删除文件:
1.首先添加一个新文件到git并且提交:
2.这时如果执行rm 1.txt把1.txt文件删了,这个时候,git知道删除了文件,工作区和版本区不一致了,再用git status跟踪一下:
3.这时有两个选择,一是确实要从版本库中删除,使用git rm 1.txt并commit一下:
注意:删除之后,只能恢复文件到最新的版本,会丢失最近一次提交后修改的内容。
另一种情况,觉得删除了,想修改回来,因为版本库中还存在,所以可以很轻松的把误删的文件恢复到原来的版本。
ls -a