我搜索了一下,但似乎找不到答案.
在我可以访问的两个框中,当我执行"git push --dry-run origin mytestbranch"时,我得到以下结果:
To git@bitbucket.org:rien/test.git
* [new branch] test -> test
Run Code Online (Sandbox Code Playgroud)
但是,在我的macbook上,当我尝试相同的命令时,我得到以下结果:
To git@bitbucket.org:rien/test.git
417248a..cf7d564 test -> master
Run Code Online (Sandbox Code Playgroud)
只有当我明确地说推送到测试原点branch(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
检查推送策略是否存在差异:
git config push.default
Run Code Online (Sandbox Code Playgroud)
我怀疑在第一个盒子上,推动是"简单"
git config push.default simple
Run Code Online (Sandbox Code Playgroud)
还要检查第二个分支上测试分支的上游分支:
git config branch.test.merge
Run Code Online (Sandbox Code Playgroud)
在第二个分支上,可能没有定义(因此默认值为master)
您可以明确设置它:
git checkout test
git branch -u origin/test
# or
git push -u origin test:test
Run Code Online (Sandbox Code Playgroud)
在注意到我为这些盒子提供了不同版本的git后,我再看了一遍,发现如果我设置
push.default为simple或者matching为git版本1.9.3,则按git push origin test预期工作.
似乎trackingpush.default这个版本的git已被弃用,所以它不理解它.
| 归档时间: |
|
| 查看次数: |
726 次 |
| 最近记录: |