【问题标题】:Automatically push local branch to a different branch on remote自动将本地分支推送到远程的不同分支
【发布时间】:2018-10-02 18:23:40
【问题描述】:

如何配置 Git,以便当我执行 git push 时它会自动执行此操作:

git push origin master:something_else

关于如何手动执行此操作的问题:

但是如何让 Git自动做到这一点?

我尝试了--set-upstream-to 选项,但这只会影响拉动。

【问题讨论】:

    标签: git


    【解决方案1】:

    https://git-scm.com/book/en/v2/Git-Internals-The-Refspec#_pushing_refspecs

    推送 Refspecs

    很高兴您可以通过这种方式获取命名空间引用,但是 QA 团队首先如何将他们的分支放入 qa/ 命名空间?您可以通过使用 refspecs 推送来实现。

    如果 QA 团队想要将他们的 master 分支推送到远程服务器上的 qa/master,他们可以运行

    $ git push origin master:refs/heads/qa/master
    

    如果他们希望 Git 在每次运行 git push origin 时自动执行此操作,他们可以将 push 值添加到他们的配置文件 (/.git/config>):

    [remote "origin"]
        url = https://github.com/schacon/simplegit-progit
        fetch = +refs/heads/*:refs/remotes/origin/*
        push = refs/heads/master:refs/heads/qa/master
    

    同样,这将导致 git push origin 默认将本地 master 分支推送到远程 qa/master 分支。

    【讨论】:

    • 是的,这就是这样做的方法 - 问题不太清楚:)。如果你想自动化它,我认为你可以在命令行上执行此操作,例如:git config remote.origin.push = refs/heads/master:refs/heads/qa/master,不太确定那个语法,所以先检查它:o ...这会覆盖 git push.default
    猜你喜欢
    • 2015-04-02
    • 1970-01-01
    • 2020-05-22
    • 2016-10-25
    • 2021-09-13
    • 2012-03-30
    • 2021-07-14
    • 2020-06-11
    • 2016-02-22
    相关资源
    最近更新 更多