我在python中编写了pre-commit-hook
,它对文件进行了一些更改。现在我还想添加此文件,以包含pre-commit-hook
所做的更改。
我尝试使用subprocess
来执行此操作
subprocess.check_call(('git', 'add', filename))
如果我在交互式python会话中尝试这个,它会正确地添加文件,但我不知道它是否工作。
我已经检查过,钩子的工作形式正确。
如何以正确的方式添加文件?
修改
我的git
版本是2.1.4
答案 0 :(得分:1)
有趣:只要预提交挂钩真正运行,git add
应该在1.5.4之后的任何Git版本中生效。请参阅Git存储库中的this commit以获取Git。
(我记得在某些版本的Git中没有正常工作,但不要记得它在任何特定版本中都被破坏了。)
另一种方法是,如果你的特定Git版本中断了,那就是让你的预提交钩子添加文件,运行自己的 git commit
,安排内部,递归提交不再次递归 - 它取决于你如何解决这个问题 - 然后当内部提交完成时,拒绝提交。这个解决方案很难看,因为它会使每次提交都失败。