首页 > 解决方案 > 如果我意外提交特定文件,需要 git 拒绝提交

问题描述

如果我尝试提交我不想不惜一切代价提交的特定文件,除非我故意给予批准,git 中是否有任何选项可以拒绝我的提交。

标签: gitgit-revert

解决方案


这取决于你想付出多少努力,以及你对刻意解决这个问题的关心程度。

在最简单的情况下,您可以将文件放在gitignore中,默认情况下,除非您明确提及,否则Git 不会将其列出git status或添加。git add

如果你想要比这更多的警告,你需要git hooks。如果你想在客户端这样做,所以git commit失败了,你需要做一个 pre-commit 钩子;你可以用 来解决这个问题git commit --no-verify,但除非你明确说它可以阻止你提交。我不记得这是否会一直在变基上运行,但我认为不会,所以如果你关心这一点,请小心。

如果你想让它在服务器端运行,那么git push失败,你需要一个预接收钩子,你需要弄清楚如何在你的服务器上安装它。这应该更难在客户端上解决,因为它是服务器在拒绝,但这意味着如果你想能够绕过它,那就更难了。


推荐阅读