我的用例:
我有一个项目,我必须添加一行代码才能在我的机器上运行。在提交和推送之前,我必须再次删除这行代码。
我经常忘记这一点,所以我想知道是否可以编写一个工具来“提高标志”,这会阻止我提交或推送提交,直到我再次“删除”该标志。
有没有办法创建某种锁定文件或设置一个设置,以便 git bash 拒绝我的提交/推送?
最佳答案
您可以通过在 .git/hook/pre-commit
中放置具有执行权限的文件来创建预提交 Hook 。 .
该脚本可以检查该行是否存在,如果存在,则返回非零退出代码并因此中止提交:
#!/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 中执行此操作。 .您也可以让钩子(Hook)强行删除此行,然后添加
git add
这个文件,虽然我个人不喜欢钩子(Hook)自动暂存我不打算的文件。
关于Git - 以编程方式阻止提交或推送的能力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65124470/