在 shell 中使用不同的命令复制 git push -m "commit message"



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

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

你可以看看 Git Hooks 来做到这一点。你可以为pre-commitcommit-msg等创建 git 钩子。

当我将提交推送到 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"

最新更新