在 git 扩展中,是否可以一次提交并合并到不同的分支?

In git extension is it possible to commit and merge into a different branch in one action?

我们有一个 Master 和 QA 分支。我为每个任务创建一个新分支 T1。 我在 T1 上开发而不是合并到 QA,并在批准后合并回 master。

所以,在开发期间,我在提交+push/switch分支(QA)/合并T1到QA/push/switch分支(T1)上浪费了很多时间。

我正在寻找一种在 git/git 扩展程序中自动执行此过程的方法。

您的工作流程看起来很像 git-flow feature。 这里 develop 是您的 QA 分支。

您可以使用 git 别名。您可以列出要执行的命令并将它们设置为单个命令。

我已经根据你的问题做了一个简单的例子。根据您的实际需要进行调整。将此添加到您的配置文件:

[alias]
    commitlikeapro = "!f() { git commit -m \""  "\" && git push origin T1 && git checkout qa && git merge T1 && git push origin qa && git checkout T1; }; f"

然后您可以将其用作:

git commitlikeapro "new message"

来源:

您可以删除第一个推送,因为它不是必需的(并且您可以将 T1 分支保留在本地,而无需从不推送它)。

通过这种方式,您还可以使用 git rebase QA 使您的提交树正确生长,并大大简化合并和代码审查。