这个分支上有一半的提交是「临时保存」。我笑了笑,决定不解释。我在 commit 信息里老老实实写清楚了这次改了什么。连茶水间都安静了

这个仓库的默认分支名改过一回,有人还在用旧的。我抬起头看了看周围,大家都一样。我把这个仓库的 hooks 配上了,提交前会跑检查。办公室安静得能听见键盘声

冲突的解决方式比冲突本身更值得记录。我把它记在心里,没跟任何人说。我发现这个仓库的分支已经有八十多个了。幸好之前留了备份

git rebase 用得六,历史记录干净得像没干过活。我盯着屏幕,觉得这才是我的一天。我打开 stash 列表,发现里面有十七个没 pop 的记录。办公室安静得能听见键盘声

回滚的代价取决于你多久之前发现的。我在心里点了点头。我把 git reflog 打开,从悬崖边上把自己捞了回来。办公室安静得能听见键盘声

误操作把密码提交进了仓库,全组人半夜爬起来轮换密钥。我决定先把手上的事情做完再处理这件事。我用了三个小时把冲突一行行解完,最后发现可以一键 theirs。同事说这波操作可以写进新人培训教材

提交信息写得好,等于给未来的自己留了份说明书。我把这个 tag 打在了错误的提交上,又删了重打。幸好之前留了备份

版本控制的价值在需要它的那一天才体现出来。我在心里点了点头。我在心里给这条提交信息重写了一遍,终于说得清。感动,然后我学到了新的一课

git blame 打开一看,那行祖传代码是我自己三年前写的。我决定先把手上的事情做完再处理这件事。我发现这个合并提交里有一处冲突解决错了。这条经验值直接拉满

版本控制最怕的不是冲突,是有人强行推。我想反驳,但发现他说得对。我把这个冲突的解决方式记录了下来,下次参照。我把它写进了组内的避坑文档第一章