如何将文件重新添加到舞台区域(在预先挂钩中)?

时间:2013-04-16 10:36:09

标签: git

我想在提交之前替换index.html文件中的修订号。这是我的pre-commit文件:

#!/bin/sh

revision_number=`git shortlog | wc -l`;

exec ./.git/hooks/replace_revision.py $((revision_number - 2))

git reset HEAD app/index.html
git add app/index.html

修订版更改,但git提交文件没有更改 - 使用旧版本修订版,因此在git commit -a之后,git diff显示我在index.html文件中更改修订版本行。

我还尝试了reset...而不是git update-index --again

我该如何解决?

1 个答案:

答案 0 :(得分:0)

这绝对有效(因为git 5.4),如:

@commit.c line 811

/*
 * Re-read the index as pre-commit hook could have updated it,
 * and write it out as a tree.  We must do this before we invoke
 * the editor and after we invoke run_status above.
 */
discard_cache();
read_cache_from(index_file);

我也试过这个,它对我有用。您确定拥有pre-commit挂钩而不是pre-commit-msg挂钩吗? 这是你设置的唯一一个钩子吗?

注意:您不需要git reset,无论如何都要撤消git add