目录
八.修改文件
由文章(一),我们可以清楚地知道,git追踪管理的其实是修改,而不是文件。如何知道这一点呢,接下来我们引入两个命令来查看修改前后的变化。
// 显示暂存区和工作区文件的差异(add前)
git diff [file]
// 查看版本库和工作区文件的区别(commmit前)
git diff HEAD -- [file]
1.我们可以看到,文件名有后缀还是要加上后缀,才能正常访问
2.我们其实可以直接cat README.txt查看文件,为什么还要多次一举呢?因为代码多了,区别就不容易找了。
3.我们可以看到git diff HEAD -- README.txt与git commit -m 'new'都是增加两行减少一行,而不是只是单纯地增加一行
九.版本回退
关于README.txt的两个版本
第一次提交(README)
C++ direction learning log --图片中将缩写为C++
第二次提交(new)
C++ direction learning log --图片中将缩写为C++
new line --图片中将缩写为new
// 本质是回退版本库中的内容
git reset [--soft | --mixed | --hard] [HEAD]
// 当回退版本以后,git log显示的版本也将回到那时
// 当clear后想吃后悔药,git log找不到回退前的哈希值
// 这时就需要如下命令
git reflog
如图介绍了使用不同命令之间的区别,同时应该慎用--hard,因为他会将工作区也一并回退,如果你此时正在开发新内容,new下写了几万字了,那这些也将一并回退,并且无法恢复。下面我将演示如何从new回退到C++,再回退到new。