git预提交钩子没有'我没有按预期工作(或者是我)

  • 本文关键字:工作 或者是 提交 git git
  • 更新时间 :
  • 英文 :


我有一个预提交,它非常简单:

[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

相关内容

最新更新