摘要: 多年以后,你面对一个需要回滚的Git仓库,准会想起这篇博客。
某一天,用户跟我反馈,他不能分配任务了。我去看了一下Fundebug捕获的报错信息:
可知,出错原因是前端发送的请求参数有问题。这个悲伤的故事是这样的:后端同时修改了多个接口,但是前端没有及时修改对应的接口调用。
这个问题不难解决,回滚代码就好了,但是,Git如何回滚代码呢?我花了点时间研究了一下。
我写了一个非常简单的测试仓库,master分支只有3个commit,每个commit只是添加一个文件,因此一共有3个文件:01.txt, 02.txt, 03.txt。
git log
commit b39476b9c730d312266fe9bc7f63e795f9ba856f
Author: kiwenlau
Date: Thu Jan 18 14:58:06 2018 +0800
3个文件
commit 3821210392184432de18b596cee58ab7924e39f9
Author: kiwenlau
Date: Thu Jan 18 14:57:38 2018 +0800
2个文件
commit 55d3012564e94a39f6686c0e532c0459ddc41ec4
Author: kiwenlau
Date: Thu Jan 18 14:56:41 2018 +0800<