第四章 windows下git实践使用

windows有一个单独的git软件,叫做git scm。

它安装完成后提供了3个交互方式,一个是git bash,一个是git cmd,另一个是git gui
第四章 windows下git实践使用
其中给新人准备的gui还是不错的,无需输入命令,鼠标点点。
第四章 windows下git实践使用
另外在网上搜索到一张非常详细的git命令图表:
第四章 windows下git实践使用
常用的比如git status 查看管理中的状态。
git log 查看日志,就能知道历史纪录。

基础知识

git中用head表示当前版本,head^表示上一个版本, head ^ ^表示上两个版本,head~30 表示前面第30个版本。

$ git reset --hard HEAD^

就能回退到上一个版本了。
更推荐使用git revert,比起使用git reset,前者不会破坏历史版本,而后者会删除掉一些历史版本。

checkout

比如我修改了一个文件,但是发现出问题了,最通常的方法就是在文件中删除,但是如果修改的地方很多,一个一个的找出来太麻烦了。

假设这个文件之前被add 管理过, 使用 git checkout – file 可以把本次所有的修改都撤销,回到初始状态。

它和reset revert很容易混淆:
第四章 windows下git实践使用

比如我已经创建了一个txt的初始文件:
第四章 windows下git实践使用
对它进行修改,保存,关闭该文件:
第四章 windows下git实践使用
abc.txt已经被修改了,然后我对这次修改后悔,想回到该文件的初始状态。
通常的做法就是打开该文件,把不需要的部分都删掉,再保存。
这样做很麻烦,还不一定能保证100%复原,有了git管理工具后,只需要

git checkout -- abc.txt

就能复原。

实践

第一次直接修改abc.txt文件,然后试图恢复报错
第四章 windows下git实践使用
因为前一章已经提过,git不会“自动智能"的对文件进行管理,必须要人为的add,既然没有add加入管理,自然也谈不上checkout恢复了

第二次把初始abc.txt加入管理,但不commit
第四章 windows下git实践使用
第四章 windows下git实践使用
①此时abc.txt已经加入了暂存区,被git管理了。
②打开abc.txt,随意添加一些字符,保存并关闭文件。
第四章 windows下git实践使用
③使用checkout恢复。
第四章 windows下git实践使用
④打开abc.txt,发现确实恢复了。

第三次把初始abc.txt加入管理,又进行commit
第四章 windows下git实践使用
①此时abc.txt已经加入了历史记录区,暂存区空。
②打开abc.txt,随意添加一些字符,保存并关闭文件。
③使用checkout恢复。
④打开abc.txt,发现确实恢复了。