如何停止带有编译错误的推送?

How to stop a push with compile mistakes?

我最近将代码错误(Javascript-使用 const 而不是 let)推送到服务器,管理员说它阻止了其他开发人员推送他们的代码?在其他 sites/employments 我确定我以前做过一次,但它只是在日志文件中报告“构建失败”并且更新被拒绝。

这次服务器没有更新(因为它一直没有更新)但是其他开发者的后续推送没有更新。

在我推送之前服务器没有更新的事实(正如其他开发人员所报告的那样)向我表明我的语法错误并没有导致服务器没有更新推送代码的问题。

求助!在我 'syntax error' 推送之前,服务器上出现了整整一周的问题,他们指责我!

我们将不胜感激其他开发人员和 AWS DevOps 的任何回复..

通常会有服务器钩子代码,以便拒绝推送的代码并且不会对服务器应用程序造成损坏吗?

githooks 是一个可选的解决方案。 另一种选择是为您的项目应用 CI/CD,任何代码构建失败,es-lint 检查,单元测试都可以为您触发警报电子邮件。 您可以与团队讨论这两个选项。

不强制使用分支和拉取请求是 DevOps(或负责 DevOps 的人)的错。

切勿直接在生产或开发分支上进行更改。每个新功能或错误修复都应该在开发分支的新分支中完成,这样如果发生这样的事情,可以拒绝更改而不会影响代码的当前迭代。

当您觉得自己已经完成了开发工作时,您可以创建一个拉取请求,供您的高级人员或什至只是您团队中的随机开发人员审查,然后在合并回开发之前获得批准.

更新:如果您正在使用 Git,我建议您在工作站上也安装 Git Flow。它标准化了错误修复和功能的工作方式并简化了分支管理。