【问题标题】:How to push my branch to master repository?如何将我的分支推送到主存储库?
【发布时间】:2012-10-26 06:46:47
【问题描述】:

我正在分支“my_branch”上的(私有)存储库中开发代码。

经过一些开发,我对自己所做的工作感到满意,我想将“my_branch”保存到主存储库(这样万一我的磁盘出现故障,它就不会丢失)。

但我还不想将我的更改合并到 master 分支。

我使用了命令:

git 推送

然后:

得到克隆

并将主存储库克隆到不同的目录。但我注意到,当我更改为 my_branch 时,该目录中的文件不包含我的更改。

请帮忙!

(在我看来,每个人通常都以类似的方式工作:不时备份您的分支,但尚未将其合并到 master?)

我曾经在 ClearCase 工作过,它的好处是:一旦您在私有分支中签入文件,它就永远不会被删除,但另一方面它不在主分支上,而您可以继续开发您的代码而不会打扰其他开发人员。

【问题讨论】:

    标签: git branch push clearcase git-branch


    【解决方案1】:

    你可以将你的分支推送到上游仓库(它不是“master”,而是默认为“origin”:git push origin myBranch),但是当你克隆时,你默认克隆 master 分支,而不是myBranch.
    默认情况下不会跟踪您的分支。
    即,您的克隆上没有本地分支 myBranch,它跟踪 origin/myBranch(从远程仓库获取的分支)。

    在您的克隆上,您需要为所有获取的远程分支创建一个本地分支。
    见“Track all remote git branches as local branches”。


    正如我在“Sell me Distributed revision control”中提到的,分支与发布(推/拉)是正交的:

    每次我想在我的分支上“签入”更改 - 是否足以调用“git push origin my_branch”或“git push my_branch”

    任何提交都是本地提交,而不是 ClearCase(在配置规范中的集中分支的最新提交)。
    有关 ClearCase 和 Git 之间的区别,请参阅“What are the basic clearcase concepts every developer should know?”。

    因此,一个简单的提交保留在您的 本地 存储库中,对所有其他开发人员不可见。
    如果您将分支推送到上游存储库(请参阅“Definition of “downstream” and “upstream””),该分支将被其他开发人员克隆,但除非他们在自己的本地存储库中签出该分支,否则他们不会看到其内容。
    默认情况下,他们会看到master 分支。

    不需要“特殊克隆模式”:克隆将克隆 all 存储库内容,以及 all 其历史记录和分支。

    【讨论】:

    • 另请阅读stackoverflow.com/questions/2563836/…:不要混合上游 repo(如“origin”)和分支(如“master”)。 ClearCase 主要是一个集中式 VCS,而不是DVCS:请参阅stackoverflow.com/questions/645008/… 了解两者之间的区别。
    • 谢谢!我只是想了解工作流程。每次我想在我的分支上“签入”更改时 - 调用“git push origin my_branch”或“git push my_branch”就足够了吗?但是如果有人想要克隆我的更改,他会使用特殊的克隆模式吗?
    • @AndreyRubliov 我已经编辑了答案以解决您的问题。如果您需要更新 master 分支,那么您需要先将您的分支重新设置在 master 之上,然后再推送 master。见stackoverflow.com/questions/804115/git-rebase-vs-git-merge/…
    【解决方案2】:

    运行

    git push -u origin my_branch
    

    那么以后你就可以运行“git push”了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-01
      • 2012-07-01
      • 1970-01-01
      • 2018-11-29
      • 2017-01-10
      • 2017-08-26
      相关资源
      最近更新 更多