git——将上游设置为忽略,并推送其他分支

git——将上游设置为忽略,并推送其他分支,git,Git,正如我的标题所示,当我签出一个新分支并使用git branch-u origin/master时,它确实会跟踪origin/master-但是,仅用于pull。当我在当前分支上执行推送时,git将我的主分支推送到origin/master。这让我在几个方面感到困惑: “track”真正的意思是什么?我想它对push和pull push是如何工作的?到目前为止,我仍然认为push适用于当前分支,那么它为什么要推我的主分支呢 如何真正为推送设置上游 关系设置正确,但git的默认推送行为并不关心它。您

正如我的标题所示,当我签出一个新分支并使用
git branch-u origin/master
时,它确实会跟踪origin/master-但是,仅用于
pull
。当我在当前分支上执行
推送时,git将我的主分支推送到origin/master。这让我在几个方面感到困惑:

  • “track”真正的意思是什么?我想它对
    push
    pull

  • push
    是如何工作的?到目前为止,我仍然认为
    push
    适用于当前分支,那么它为什么要推我的主分支呢

  • 如何真正为推送设置上游


  • 关系设置正确,但git的默认推送行为并不关心它。您需要将您的
    push.default
    配置设置为
    simple
    upstream

    不带参数的push将执行
    push.default
    所说的任何操作,默认情况下,这意味着它将尝试使用远程服务器上也存在的名称来推送所有分支


    您可以在
    push.default
    上查看git config文档,以获得可能性的概述。

    当您创建本地分支并且第一次使用远程分支时

    git push origin your_branch -u
    

    自动跟踪本地远程分支以进行拉和推。

    此默认值将在Git 2.0中更改。然后默认值将变为
    simple
    。是的,每当最终发布git 2.0时,该版本的默认值都将更改。这与设置上游相同-仅用于
    pull
    而不用于
    push