如何简单地分支/复制主机并将此分支上载到GitHub?

如何简单地分支/复制主机并将此分支上载到GitHub?,git,github,phpstorm,Git,Github,Phpstorm,我肯定错过了一些非常明显的东西,但我正在努力做到这一点 我想在本地计算机上复制“主”回购协议,创建我自己的分支“主副本”,然后将其上载到GitHub(无需更改) 我希望能够在GitHub上看到这个新的“主副本”分支,它将与主副本相同,没有其他人会使用它,因此我可以在不接触主副本的情况下上传更改 稍后会有其他人负责将其合并到“master”中 为了增加混淆,我在命令行中使用了PhpStorm和Git的组合 以下是我所做的,以及为什么我不能理解PhpStorm在做什么: git签出主机 在PhpSt

我肯定错过了一些非常明显的东西,但我正在努力做到这一点

我想在本地计算机上复制“主”回购协议,创建我自己的分支“主副本”,然后将其上载到GitHub(无需更改)

我希望能够在GitHub上看到这个新的“主副本”分支,它将与主副本相同,没有其他人会使用它,因此我可以在不接触主副本的情况下上传更改

稍后会有其他人负责将其合并到“master”中

为了增加混淆,我在命令行中使用了PhpStorm和Git的组合

以下是我所做的,以及为什么我不能理解PhpStorm在做什么:

  • git签出主机
  • 在PhpStorm中添加了新的分支(我猜是来自master)。它确实在右下角显示了我当前的分支作为主分支
  • “git状态”现在显示我在我的“主副本”分支中
  • 现在,我肯定只是“推动”回购协议,应该有我的分支机构

    问题是我在PhpStorm中尝试过这一点,结果是:

    没有跟踪分支。使用下面的复选框推动分支手动指定,显示最近的5次提交

    然后,它显示了在不同时间内完成的5次随机提交

    此外,在底部它显示了一个选项“将当前分支推送到备用分支”,但备用分支是我已经在使用的分支(??)

    我以前使用过PHPStormPush,它总是自动将我的工作合并到主分支中。这次我不想把事情搞砸


    没有其他人在处理repo。

    我以前从未使用过PhpStorm,但假设它可以检测到您从命令行所做的git更改(如创建新的本地和远程分支),那么您就可以从命令行专门使用git来做所有您想做的事情:

    git checkout -b copy-of-master
    git push -u origin HEAD
    
    这将基于
    master
    创建本地分支
    master
    副本,并将其设置为自动跟踪其远程版本
    master
    的来源/副本

    文档
    • :“指定
      -b
      会导致创建一个新分支,就像 都打过电话,然后退房了。”

    • :“对于每个最新或成功更新的分支 推式,添加上游(跟踪)引用,由无参数使用 和其他命令。有关更多信息,请参阅中的
      branch..merge
      "


    谢谢,这是一个很好的答案。唯一让我困惑的是:“git push-u Original HEAD”和“git push-u Original copy of master”@user2143356之间的区别是
    HEAD
    指的是您当前签出到工作副本中的分支。因此,如果您签出了
    master
    ,则
    HEAD
    将引用
    master
    ,而不是
    master的副本
    。谢谢。我有严重的问题。我认为这是对的,但是我现在如何每次都推动改变呢?所以想象一下,我现在已经做了一些提交,仅仅一次“git推送”就足够了,还是每次我想要推送提交时都必须“git推送-u origin HEAD”?@user2143356,这取决于git的配置方式。您只需要使用
    -u
    一次。然后,每次您想在之后推送时,您都可以根据您的git设置推送原点头,或者只是推送git,就像设置了git config--global push.default simple一样。顺便问一下,你用的是什么操作系统?您可以在中看到更多的
    push.default
    设置,但是
    simple
    设置应该适合初学者。