git pre-commit hook:已更改的文件不在当前提交

时间:2015-05-11 12:48:54

标签: git pre-commit-hook

我有一个git预提交挂钩,如果它们已损坏,它会更改一些文件。挂钩完成后,更改的文件不会列在当前提交中。如何将挂钩中的更改暂存到当前提交中?

我的钩子看起来像这样:

#!/bin/sh
versionUpdater -editVersion

这会打开一个Windows窗体,我可以在其中编辑某些文件中的某些版本。编辑完成后,我希望这些更改都在当前提交中。

钩子中的这些更改现在列在下一次提交中。

1 个答案:

答案 0 :(得分:2)

有几种选择。 以下答案将详细解释需要做什么以及如何做。

Can a Git hook automatically add files to the commit?

在预提交中:

  
      
  • 触摸文件.processCommit或其他内容。 (务必将其添加到.gitignore)
  •   
#!/bin/sh 
echo 
touch .processCommit 
exit

在提交后:

  

如果.processCommit存在,你知道刚刚发生了提交。

#!/bin/sh
echo
if [ -a .commit ]
    then
    rm .commit
    git add yourfile
    git commit --amend -C HEAD --no-verify
fi
exit