【问题标题】:What is the difference between git push origin and git push origin mastergit push origin 和 git push origin master 有什么区别
【发布时间】:2012-09-09 20:37:41
【问题描述】:

使用git push origin master 将本地 git 存储库的 master 分支推送到名为 origin 的远程存储库的 master 分支有什么不同吗? 还是git push origin

【问题讨论】:

    标签: git git-push git-remote


    【解决方案1】:

    git pushgit push origin的默认操作自git版本1.7.11起发生了变化:

    • 1.7.11之前,git push默认推送所有远程存在的同名分支。

    • 由于1.7.11git push默认将当前分支推送到同名远程分支。

    在版本1.7.11之前和之后,可以使用push.default配置选项来配置默认行为。在git版本1.6.3中已经引入了这个配置选项。

    【讨论】:

    • 如果当前分支和远程分支名称相同但大小写不同,它会起作用吗?例如“AppName”与“appname”,只是好奇..
    【解决方案2】:
    git push origin master
    

    这只会将你的主分支推送到原点

    git push origin
    

    将所有分支推送到原点

    更新 - 自编写此答案以来,Git 的行为发生了变化。 Git >=2.0 上的git push origin 默认情况下会将当前分支推送到同名的匹配分支,但可以通过git config 覆盖此行为

    【讨论】:

    • 稍微澄清一下 - git push origin 默认情况下可能会推送所有分支,但实际上它会推送“您配置推送的任何内容”。默认值可以更改,因此除非您知道您的存储库配置为推送什么,否则显式 git push origin master 在某些方面“更安全”。
    • 查看接受的答案以了解自 1.7.11 版以来的更改
    【解决方案3】:

    虽然 Git >=2.0 上的 git push origin 默认确实将当前分支推送到同名的匹配分支,但文档是错误的!
    所述文档已使用 Git 2.32(2021 年第二季度,8 年后)修复:

    参见Taylor Blau (ttaylorr)commit 4c8e3dc(2021 年 3 月 8 日)。
    (由 Junio C Hamano -- gitster -- 合并于 commit c6617d1,2021 年 3 月 24 日)

    Documentation/git-push.txt: 正确配置错误

    报告人:Adam Sharafeddine
    报告人:Fabien Terrani
    签字人:Taylor Blau
    审核人:Jonathan Nieder

    在“示例”部分,git-push 表示“git push origin(man) 将当前分支推送到“remote.origin.merge”配置的值。

    这个措辞(可以追溯到b2ed944push: switch default from , 2013-01-04, Git v2.0.0-rc0 -- merge)(push: switch default from "matching " 到 "simple", 2013-01-04)) 不正确。
    没有'remote.<name>.merge'这样的配置。
    这可能原本打算改为“branch.<name>.merge”。

    确实,当 'push.default' 是 'simple' (这是默认值,并且根据“无需额外配置”适用于这种情况)时,如果分支的本地名称不匹配,setup_push_upstream() 就会死掉'branch.<name>.merge'。

    更正这个长期存在的错字,以解决最近对该示例预期行为的一些混淆。

    git push 现在包含在其man page 中:

    git push origin:

    无需额外配置,如果当前分支与当前分支同名,则将当前分支推送到已配置的上游(branch.<name>.merge 配置变量),否则会出错而不推送。

    【讨论】:

      猜你喜欢
      • 2021-04-13
      • 1970-01-01
      • 2015-07-03
      • 2015-12-08
      • 2017-09-21
      • 1970-01-01
      • 2020-07-30
      • 2023-02-02
      • 1970-01-01
      相关资源
      最近更新 更多