Git - 编程方式禁止提交或推送能力

4

我的应用场景:
我有一个项目,需要添加一行代码以使其在我的计算机上运行。在提交和推送之前,我必须再次删除此行代码。
我经常会忘记这一点,所以我想知道是否可以编写一个工具,在其中我可以“设立标志”,这可以防止我提交或推送提交,直到我“再次删除”该标志为止。
是否有一种方式可以创建某种锁定文件或设置某个设置,以便git bash拒绝我的提交/推送?

1个回答

3
您可以通过在.git/hook/pre-commit中放置带有执行权限的文件来创建pre-commit钩子。
此脚本可检查行是否存在,如果存在,则返回非零退出代码,因此会中止提交。
#!/bin/sh

if grep -q '^Line to remove$' myfile.txt; then
  echo 'You forgot to remove the line from myfile.txt'
  exit 1
fi

您可以通过将文件放置在.git/hook/pre-push位置,在 pre-push hook 中执行类似的操作。

您也可以强制性地让钩子删除此行并添加git add此文件,不过我个人不希望钩子自动暂存我没有打算的文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接