我有一个预提交,它非常简单:
[xavier@imladris python-requests]$ cat .git/hooks/pre-commit
rm -f BUILDLOCK
这并不像名字所暗示的那样起作用:文件从本地存储库中删除,但仍保留在远程存储库中,这使得我的本地repo在提交后被标记为脏。
我误解医生了吗?在这种情况下,哪一个是完成我需要的任务的合适挂钩,即删除锁定文件、提交修改以及删除文件
谢谢,问候,
Xavier
据我所知,您不仅想删除文件,还想提交删除?
然后不要使用rm
,而是使用git rm
。
git rm -f BUILDLOCK
在运行git commit
之后,在运行之前,会调用pre-commit
。CCD_ 5的结果确定CCD_ 6是要完成还是中止。
在您的问题中,您提到删除BUILDLLOCK会导致存储库变脏。pre-commit
按预期工作。但从一开始就提交BUILDLOCK是不合适的。相反,建议将其添加到.gitignore
中。它似乎被用作一个锁文件,指示构建过程正在运行,对吧?如果是这样,则构建过程负责创建和删除它
感谢您的快速回答。
它现在与这个内容一起工作
#!/bin/bash
rm -f BUILDLOCK
git rm --ignore-unmatch -q BUILDLOCK
干杯,
Xavier