![58d2a3ccdfb95c3e8d2705b91c7c3584.png](https://i-blog.csdnimg.cn/blog_migrate/85337f77c2f34c3694242f5528cde698.jpeg)
本节课新内容很少,大部分内容是回顾上节课的操作,以及添加新的内容:版本回溯。
版本回溯
含义很简单,就是撤回修改,返回到原来的某一个版本。作用在于,当新修改出现代码错误时,或者想放弃本次的修改时,重置代码到上次的commit,可以把本地所有内容回溯到之前的某一个代码版本。
操作示范
先回顾上节课的操作,对于上节课的本地代码库,我们做新的修改:
cd gitHub_OF_workSpace/
cd basicCode/
vim hello_world.cpp
在这个C++源文件中新添加一行代码,多输出一行“I am an OpenFOAM fan”:
cout << "I am an OpenFOAM fan" << endl;
![49a8583054c09156258b85135f63334c.png](https://i-blog.csdnimg.cn/blog_migrate/9fbf226f64c72eacdb703f8393b694ad.png)
修改后编译为新的可执行文件mo_hello_world:
g++ hello_world.cpp -o mo_hello_world
运行该程序查看新的效果:
./mo_hello_world
然后可以用下面的命令查看我们所做的修改:
git status
然后返回主文件夹,将修改提交到GitHub网站上:
cd ..
git add .
git commit -m "OpenFOAM fan added"
git push origin master
以上命令的含义请查看第1节课内容。根据commit提交时的记录,可以在GitHub上追踪到本次的修改内容:
![393d4fb1b04b95e1897ec068f513512d.png](https://i-blog.csdnimg.cn/blog_migrate/0c572a7ca17b667fd4326a1391355f4d.jpeg)
接下来是新内容,版本回溯:
为了直观查看效果,我们直接删除用来存放代码的文件夹:
rm -r basicCode/
然后用下面的命令查看现在本地Repositories与GitHub上的Repositories之间存在的差异:
git status
终端给出了对比信息:一系列文件被删除了,如下图红色字体所示:
![7737be00ddf61b04aa32b8aca445a031.png](https://i-blog.csdnimg.cn/blog_migrate/168f4f55e7c6f3d491fb0690c88b470d.jpeg)
通过git reset命令将本地代码库重置,从GitHub上获取原来的版本:
git reset --hard
这样所做的修改就还原了,被删除的basicCode文件夹也复原了。