复制git push -m"提交消息"在shell

时间:2018-03-14 08:29:40

标签: git function shell

当我将提交推送到git存储库时,我需要在提交消息中进行一些验证。我如何模仿" git push"与其他人一起命令?

例如在bash配置文件中有一个函数,当我输入git push时会调用它吗? 如何在bash配置文件中有一个函数,它可以在函数名之间包含空格?

2 个答案:

答案 0 :(得分:0)

您可以查看Git Hooks来执行此操作。您可以为commit-msgvar ilk等创建git挂钩。

答案 1 :(得分:0)

  

当我将提交推送到git存储库时,我需要在提交消息中进行一些验证。

我认为你的意思是当你刚刚在本地提交时,你想要验证提交消息。 您可以轻松地在客户端上使用Git挂钩来实现。更具体地说,您可以使用commit-msg挂钩。 这是Git官方书籍中的一个很好的教程,解释了这个过程:https://git-scm.com/book/gr/v2/Customizing-Git-An-Example-Git-Enforced-Policy#_client_side_hooks_2

我想你的情况类似于他们在教程中陈述的内容:

  

这种困境的答案是提供一些客户端挂钩,用户可以运行这些挂钩,以便在他们执行服务器可能拒绝的操作时通知他们。

     

例如在bash配置文件中有一个函数,当我输入git push时会调用它吗?如何在bash配置文件中有一个函数,它可以在函数名之间包含空格?

我不确定你的意思,但我怀疑你可能会对Git别名执行比快捷方式更复杂的事情感到困难。

您可以使用!来运行shell脚本。以下是您可以将.gitconfig

放入的示例
[alias]
    # Log commits authored by me
    mylog = !git log --author=\"$(git config user.name)\"

    # Find branches containing commit
    fb = "!f() { git branch -a --contains $1; }; f"