QR code

Help Me, My PR Doesn't Merge!

  • Translated by to

你已经提交了一个拉取请求,但它无法合并。审阅者说它不好或测试未通过。无论如何,你都无法将其合并到主分支中。你一直在修复分支,努力说服审阅者,讨厌测试。停下来。尝试更聪明的策略。

首先,快速失败。快速放弃。如果事情不顺利,就放弃吧。如果审阅者的投诉不仅仅是样式问题,那么你对架构的理解可能存在问题。

问问自己,这是怎么发生的?为什么作为一个聪明的程序员,你对架构的理解出错了?显然,这不是你的错。这是存储库中的一个bug。它的README不完整,它的代码不够干净,它的文档已经过时。

你会怎么做?通过提交bug报告来责怪他们。然后,当他们修复存储库时,你可以再试一次,提交一个新的拉取请求。

他们很可能不会抱怨你所做的所有更改。有些东西他们觉得好,而拒绝接受其他一些。好的,删除你的拉取请求中的坏部分。

不要浪费时间试图一次性销售整个包裹。相反,给他们尽可能多的接受。最终,你将合并几个拉取请求,而不是一个。越多越好,至少对于我们在Zerocracy来说是这样,我们奖励每个合并的拉取请求。

这可能是他们现有代码库中的一个缺陷。很常见。你的代码无法合并,不是因为它有问题,而是因为其中一个现有的测试不稳定。这很棘手,可能会变得很难看。

不要消极或沮丧。你知道这不是你的错。但他们不知道。他们认为你的代码有问题,而他们的代码完美无缺。此外,所有的CI工作流在主分支上都是绿色的,而你的分支是红色的。我们应该责怪谁呢?显然是你。

你必须收集足够的证据并提交一个bug报告。它应该解释主分支中出了什么问题。千万不要提及你的拉取请求。这是个陷阱!如果你试图用你的拉取请求作为证明来指出他们的错误,他们是不会听的。

暂时忘记你的拉取请求。提交一个bug报告,就好像你是个刚发现主分支中有bug的陌生人。

这可能很困难,因为主分支是绿色的。然而,除此之外别无他法。再说一遍,如果你责怪他们导致你的拉取请求失败,他们是不会听的。最多,他们会向你解释持续集成的基础知识。

就像扑克鱼(不成熟的玩家)试图赢取每一手牌一样,初级开发人员试图合并每一个拉取请求。这是一个错误。有些问题根本无法解决,有些功能现在无法实现。以后会有时间解决它们。

在收到负面评论后关闭拉取请求是完全可以的。没有必要感到有义务完成它。最好花时间解决更容易修复的错误和实现更简单的功能。

无论多么困难,也不要求他们帮忙。“我不明白为什么它不合并!”不要说这样的话。

他们可能会帮忙,但对他们来说会很烦人。你不会显得像一个可靠的程序员。你请求帮助越多,你的声誉就会越受损。你必须知道如何独立解决问题。

一个失败的PR并不是挫折,而是一个教训。快速失败,明智地承担责任,然后更坚强地前进。

Translated by ChatGPT gpt-3.5-turbo/42 on 2025-11-09 at 16:29

sixnines availability badge  GitHub stars