【问题标题】:git push origin branchname always pushes to mastergit push origin branchname 总是推送到 master
【发布时间】:2015-02-04 10:14:18
【问题描述】:

我搜索了一下,但似乎找不到答案。

在我可以访问的两个盒子上,当我执行“git push --dry-run origin mytestbranch”时,我得到以下结果:

To git@bitbucket.org:rien/test.git
 * [new branch]      test -> test

但是,在我的 macbook 上,当我尝试相同的命令时,我得到以下结果:

To git@bitbucket.org:rien/test.git
   417248a..cf7d564  test -> master

只有当我明确说推送到测试源分支 (git push --dry-run origin test:test) 时,它才能按预期工作。

如何更改它,以便基本的git push --dry-run bb test 将推送到新创建的远程分支而不是 master?

我用git checkout -b test origin/master在两个盒子上创建了测试分支

编辑添加: - 两个分支都将git config push.default 设置为tracking

我特别想知道如何配置 git,以便当我输入 git push origin test 时,它的行为与 git push origin test:test 相同

【问题讨论】:

    标签: git git-push


    【解决方案1】:

    检查push policy是否有区别:

    git config push.default
    

    我怀疑在第一个盒子上,推送很“简单”

    git config push.default simple
    

    还要检查第二个分支上测试分支的 upstream branch

    git config branch.test.merge
    

    在第二个分支上,它可能没有被定义(因此默认值 master)

    can set it explicitly:

    git checkout test
    git branch -u origin/test
    # or
    git push -u origin test:test
    

    OP rien 加了in the comments

    在注意到我为这些框使用了不同版本的 git 后,我​​环顾四周,发现如果我将 push.default 设置为 simplematching 对于 git 版本 1.9.3,git push origin test 按预期工作。
    似乎 tracking push.default 对于这个版本的 git 已被弃用,所以它不理解它。

    【讨论】:

    • 对于这两个框,当我输入git config push.default' 时,结果是tracking。在第二个分支上,git config branch.test.merge 的结果是 refs/heads/master,而在第一个分支上什么也没有。但是,当我尝试显式设置它时,我收到以下错误:error: the requested upstream branch 'origin/test' does not exist。如何更改它,以便当我使用 git checkout -b test origin/master 创建分支时,默认 git push origin test 行为是 git push origin test:test
    • 简单地做一个 git push -u origin test:test
    • 我知道我能做到。我更想知道如何配置 git,以便 git push origin test 的默认行为与 git push -u origin test:test 的行为方式相同。
    • 它会这样:只有第一次推送需要使用 -u 选项:在stackoverflow.com/a/17096880/6309查看我的解释
    • 你能解释一下为什么在第一次推送我所在的第一个盒子时,我不需要指定 git push -u origin test:test 然后 git push origin test 有效吗?为什么我需要在我的第二个盒子(我的 macbook)上专门指定这个?为什么它的工作方式不同?如何将第二个盒子(我的 mac)配置为与第一个盒子一样工作?
    猜你喜欢
    • 2014-04-30
    • 2020-08-01
    • 1970-01-01
    • 2021-07-14
    • 2011-08-07
    • 2021-04-13
    • 2018-08-06
    • 2012-06-09
    • 2012-09-09
    相关资源
    最近更新 更多