2011-03-01 63 views
1

所以我在回购中有两个追踪分支,'testing'和'master'。这些跟踪到我的远程服务器上相同的命名分支。 push.default的.gitconfig选项设置为'tracking'。但是当我做“git push origin”时,它会将我的新更改与主分支合并到远程服务器上。这里是“混帐远程秀出身”输出:如何设置git以从当前分支进行推送和拉取?

* remote origin 
Fetch URL: git+ssh://****************** 
Push URL: git+ssh://****************** 
HEAD branch: master 
Remote branches: 
    master tracked 
    testing tracked 
Local refs configured for 'git push': 
    master pushes to master (up to date) 
    testing pushes to testing (fast-forwardable)` 

基本上,我希望能够只需键入“混帐推”和“git的拉”,它会自动将其拉出原点与适当的科。

编辑:

[*****]$ git config push.default 
tracking 
[*****]$ git --version 
git version 1.7.3.4 
+0

推不能合并。它是不可能的,所以编辑你的问题来澄清你的意思。 – Arrowmaster 2011-03-02 05:40:37

+0

如果我理解正确,你说当你做'git push origin'时,两个分支都被推送到远程的匹配分支。这听起来非常令人惊讶,如果你真的把'push.default'设置为'tracking'。你还可以告诉我们(a)你使用的是哪个版本的git,(b)命令'git config push.default'的输出肯定是'tracking'? – 2011-03-02 09:04:43

回答

0
git config remote.origin.push HEAD 

查看的文档git push(这是在向在实施例部分中的底部)。

+0

然后,将push.default设置为跟踪有什么作用? – Chris 2011-03-02 17:43:01

1

您可以通过编辑“push.default”属性来更改此行为。

我总是使用“简单”模式试图找到一个与您当前分支具有相同名称的远程分支并将其推送到它。

git config --global push.default simple 

这是为初学者建议的模式,由于他的易用性和安全性。

...拒绝推送,如果上游分支的名称不同于当地的 。

找到更多的官方文档(页面结束):http://git-scm.com/docs/git-config

+0

刚刚意识到这个帖子有多老:) – andrew 2015-07-17 09:10:50