在使用EGIT进行提交后,无法'git commit --amend'

时间:2017-12-21 15:50:22

标签: eclipse git egit

我有一个简单的提交后挂钩:

#!/bin/sh
python .git/hooks/post-commit.py
git add "__version__"
git commit --amend -C HEAD --no-verify

首先在post-commit.py中调用文件覆盖

if __name__ == "__main__":
    #
    # Read temp version
    with open("__version__.tmp", "r") as f:
        version = f.read().strip()
    #
    # Write message
    with open("__version__", "w") as f:
        f.write(version)
    #
    # Remove temp file
    os.remove("__version__.tmp")

但是,我使用Eclipse IDE开发和提交,我相信它有自己的git Java实现,我的post-commit钩子git commit --amend -C HEAD --no-verify的最后一行会导致异常:

  

被“post-commit”挂钩拒绝...无法创建'... git / index.lock'文件存在。

我怀疑这是因为Eclipse的实现,egit,已经打开了一个锁文件,这阻止了在使用Eclipse提交时在任何钩子中调用git。

有人可以确认或否认吗?最终,如果有人能提出建议,那么解决方案会很棒。

谢谢!

0 个答案:

没有答案