git
push -f
不要用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去修复
,最后感谢大师。