不要用root用户,不要用force参数,这都是老生常谈的话题了。 权利越大,责任越大,可是总是有人使用...

git push -f

实话是说,使用force闯祸了... git提交的多了,难免有些错误想要去掉,干净的提交履历确实好看,也更容易表明做了些什么。 一行代码,第一次改错了,push到master分支了,就一行。(就一行,唯一的一行,所以唯一的一次没有另开分支。) 所以我就回退了一个版本,重新修改force提交了,按说也没有多少问题,可是CI(持续集成),拉到了那个错误提交的版本,然后无法拉到其它更新的版本了...

FiX IT

首先我想的是,恢复出那个版本。习惯性的新开分支,锁定到第一次错误提交后的那个版本,然后修改,然后pull request。那个版本出现了,不是孤立的了,可是CI仍然不能拉到更新的版本。。。

reset

重新来,新开分支,reset一堆修改,然后pull request。“改或者不改,CI的版本就在那里,不增不减。”

最后,我大师出马了。。。危难时刻还是有大师好啊...

总结

自我总结,本次Fix失败,主要原因是一直新开分支,采用了错误的方法。丢失了原本该有的胆识,不过话说回来,master分支搞错是会死人的。(虽说git仓库还是容易恢复,不易于被恶意破坏) 解铃还须系铃人,force闯的祸,应该用force去修复,最后感谢大师。