今天测试AGV功能的时候,发现从某个版本开始,之前好用的功能突然出现的了异常,想到自己最近确实提交了很多代码,而在代码提交之前,这个功能都是好用的。所以,就把代码回退到某一个版本,现在版本落后五个提交

但是现在遇到了一个问题,在不使用git pull的情况下,如何将这五个落后的提交一个一个前进呢
查了一个发现,git log命令可以用于查看代码的提交记录,但是如果将代码回退之后,就无法通过git log查看了。如果想重返未来,需要使用git reflog命令

上图中有5个commit,说明现在落后的五次提交对应着这五次commit,这五次提交之前都有对应的commit id,接下来只需要重新使用git reset命令外加id号码即可

可以看到,现在的代码从之前的位置前进了一个提交。
这样就可以重新编译代码,然后看问题是否出现,如果出现,就说明这次提交的代码有问题,需要查看代码了,否则就再前进一个提交,然后看看问题是否能复现。。。。。。
直到找到问题出现的代码即可
总的来说,5步:
1.git log
2.git reset --hard 想回退到对应的commitid
3.编译代码
4.git reflog
5.git reset --hard 想前进到对应的commitid
本文介绍了一种逐步定位AGV软件中突然出现的异常的方法。通过回退代码版本,逐个提交前进的方式,最终确定引入问题的具体提交。涉及gitlog、gitreset等命令的使用。
775

被折叠的 条评论
为什么被折叠?



