冲突的解决方式比冲突本身更值得记录。我想了想自己这些年,好像确实如此。我把这个分支从主线上拉了下来,准备重做。那一刻我觉得自己还是很专业的

detached HEAD 状态像极了周末的我:不知道自己该在哪个分支上。我想了想,觉得这话没法接。我把这个仓库的 gitignore 补全了,不再误提交。我把它写进了组内的避坑文档第一章

我把这个 tag 打在了一个不该打的提交上。我在心里把涉及的所有环节都过了一遍。我把 force push 的权限从所有人收成了只留组长。这大概就是程序员的人生吧

合并的策略决定了历史的形状,也决定了排查的难度。我盯着屏幕,觉得这才是我的一天。我把这个分支的保护规则打开了,不能再直接推

stash 了十次,pop 的时候像在拆盲盒。我盯着屏幕,觉得这才是我的一天。我把这个改动推到了新分支上,没有直接推主线。同事说这波操作可以写进新人培训教材

git rebase 用得六,历史记录干净得像没干过活。我把这次操作写进了团队 Git 操作手册,标红加粗。真香定律准时生效

同事的 commit 信息全是 update,我怀疑他提交了整个宇宙。我想了想自己这些年,好像确实如此。我在心里给这次的回滚方案想好了备选。这大概就是程序员的人生吧

这个分支的命名让我们后来找了半天。我默默记下了这句话。我用了三个小时把冲突一行行解完,最后发现可以一键 theirs。果然现实比段子更精彩

commit 信息写的是"修复若干问题",半年后没人知道修的是什么问题。我忽然觉得,这可能就是这一行的常态。我把这次操作写进了团队 Git 操作手册,标红加粗。幸好之前留了备份

在 GitHub 上找到个完美解决方案,一打开链接:404,技术债连同一台服务器一起消失了。我盯着屏幕沉默了十分钟。我发现这个提交把一个不该动的文件也带上了。那一刻我觉得自己还是很专业的