我搜索了一下,但似乎无法找到答案。
在我可以访问的两个框中,当我执行" 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
将推送到新创建的远程分支而不是主控?
我使用git checkout -b test origin/master
编辑添加:
- 两个分支的git config push.default
设置为tracking
。
我特别想知道如何配置git,以便在我输入git push origin test
时它与git push origin test:test
的行为相同
答案 0 :(得分:6)
检查 push policy :
是否存在差异git config push.default
我怀疑在第一个方框中,推送是“简单的”
git config push.default simple
另请检查第二个分支上的测试分支的 upstream branch :
git config branch.test.merge
在第二个分支上,可能没有定义它(因此默认值为master)
git checkout test
git branch -u origin/test
# or
git push -u origin test:test
在注意到我为这些盒子提供了不同版本的git之后,我再看了一遍,发现如果我将
push.default
设置为simple
< / strong>或matching
对于git版本1.9.3,git push origin test
按预期工作 对于此版本的git,似乎不推荐使用tracking
push.default
,因此它不理解它。