目录
笔记学习的内容来自-->链接时光机穿梭—廖雪峰的官方网站
二、时光机穿梭
相关命令:
git status:查看当前仓库的状态(是否被修改、添加、提交之类的)
git diff xxx.txt:查看文件xxx.txt的修改之处
1、版本回退
git log:显示从近到最远的已提交日志(显示最近的每一次提交的版本相关信息,如commit id、提交人、日期等),被回退放弃的版本会没有,eg:版本一提交,改了之后提交版本二,又修改然后提交版本三,但是现在又回退了一次回到了版本二,则版本三是被放弃的版本,用git log就不会显示版本三的相关信息。git log --pretty=oneline 可以使查询的版本排版更整洁,易于观看。
git reset --hard HEAD^:回退到上一个版本
git reset --hard +commit id:回退到指定commit id的版本
git reflog:显示每一次提交的版本相关信息,如commit id、提交人、日期等,与git log不同的是,log只显示历史提交修改的相关的信息,reflog是历史和未来的都显示,只要提交过的都可以显示,被回退放弃过的版本相关信息也会显示,实践出真知,去试试看
2、工作区和暂存区
(1)工作区(Working Directory)
就是你在电脑里能看到的目录,如果你用的是Visual Studio Code(vscode)代码编辑器,也可以理解为vscode里面的编辑区。
(2)版本库(Repository)
当一个文件还从来没有被添加过,用git status查看它的状态是Untracked;
笔记到现在情况是这样的
3、管理修改
git是把文件的修改进行管理而并非文件本身。
所以当修改了一个文件时,先add再commit就是完整将修改提交给git管理的过程,如果只add没有commit'的话,则不成功;如果同时修改了2个文件,但是只add了其中一个,则commit时也只有add的那个文件的修改会被提交,另一个不会。
git diff HEAD --【文件名】:可以查看工作区和版本库里面最新版本的区别
4、撤销修改
(1)丢弃工作区(也可以理解为vscode里面的编辑区)的修改
对文件修改了几句,觉得不好,还是原来没修改过的奈斯,有两种方法:
①手动把添加的删掉,把改过的改回去
②用命令,git checkout -- 【文件名】丢弃工作区的修改
注意以下的两种情况,仔细逐字阅读,否则可能看不懂或者不理解。
(2)丢弃暂存区的修改
用命令git reset HEAD 【文件名】撤销暂存区的修改,放回工作区
现在暂存区的修改被撤销了,但是工作区的还没有撤销,所以需要重复一次丢弃工作区的命令
5、删除文件
廖大神链接:删除文件 - 廖雪峰的官方网站