Git不应用remote.pushDefault和branch。<name> .pushRemote configuration

时间:2016-03-18 00:26:28

标签: git version-control

我的理解是,在决定要推送什么远程时,Git使用(按优先级顺序)1)作为命令参数提供的远程和refspec,2)推送分支的branch.<name>.pushRemote配置来自,3)remote.pushDefault配置适用于所有分支(并且是我希望在这种情况下使用的配置,以及4)Git在您克隆时自动为您设置的branch.<name>.remote配置存储库。

请参阅https://git-scm.com/docs/git-config

我已经从我没有写入权限的中央存储库(&#34; origin&#34;)克隆了我的存储库,使用git remote add指向我自己的公共存储库,我有写入权限(&#34;提交&#34;)。我试图将remote.pushDefault和branch.develop.pushRemote设置为我的&#34;提交&#34;存储库,但每当我输入git push时,它都会尝试推送到中央存储库&#34; origin&#34;。

在Centos 6.7上使用git版本1.7.1

这是我的配置文件:

My config file

以下是证据:

enter image description here

1 个答案:

答案 0 :(得分:1)

你有一个问题,因为CentOS远远落后于现代版本的git。下面引用的文字来自发行说明(Documentation/RelNotes/*文件)。

  1. branch.branch.pushRemoteremote.pushDefault都是git 1.8.3中的新功能:

      
        
    • 三角形从一个地方拉出来,推到另一个地方&#34;工作流程   新remote.pushdefault更好地支持(覆盖   &#34;来源&#34;事情)和branch.*.pushremote(覆盖了   branch.*.remote)配置变量。
    •   
  2. 在git 1.9.1:

    之前,新功能的处理仍然有所不同
      
        
    • &#34; git push&#34;没有注意branch.*.pushremote如果是的话   早于remote.pushdefault定义;这两个的顺序   配置文件中的变量无关紧要,但确实如此   错误的。
    •   
  3. 显然,第1项比第2项重要得多,因为发行说明提供了解决方法(事实上,您的配置已经按照必要的顺序进行了配置,当然两者都设置为相同的值)。

    你需要将git升级到至少1.8.3(尽管你没有理由不跳到2.5+,只要你记下2.0中的界面变化)。 / p>