Git - 推动时自动变基

Git - Auto rebase while pushing

在处理 git 项目时,我想在每个 git push 之前 运行 一个 git pull --rebase。但是,我团队中的一些开发人员经常忘记在推送之前调用 git pull --rebase。因此,Git/Gerrit 自动执行合并,这会创建格式错误的提交 message.I 希望避免这种自动合并。

我想配置客户端 git 以便当开发人员 运行 一个 git push 时,一个 git pull --rebase 应该自动发生。有什么办法吗?

告诉所有开发人员在克隆后将以下内容添加到他们的 .git/config 文件中。然后要求他们全部使用 git goodpush 而不是 git push.

[alias]
        goodpush = "!git pull --rebase && git push"

此配置也可以放在用户主目录中的 .gitconfig 文件中,以避免为每个克隆的存储库都这样做。

请注意,别名 不能是 push,原因已讨论 here,因此您必须提供一些奖励或培训您的开发人员不再直接使用 push

从好的方面来说,由于每当有人不小心使用 push 时您都会收到格式错误的提交消息,因此如果发生此类使用,您将立即知道该与谁交谈。