2012-11-06 69 views
1

我正在分支'my_branch'的我(专用)存储库中开发代码。如何将我的分支推送到主存储库?

经过一番开发,我很满意自己所做的事情,并且希望将'my_branch'保存到主存储库(所以在我的磁盘发生故障时它不会丢失)。

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

我用命令:

混帐推

然后:

了克隆

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

请帮忙!

(在我看来,每个人通常工作在类似的方式:?不时备份您的分支,而尚未合并其掌握)

我以前在ClearCase的工作,什么是好它是:只要你在你的私人分支登记你的文件,它永远不会被删除,但从另一方面它不在主分支上,你可以继续开发你的代码而不会打扰其他开发者。

回答

0

您可以将分支推送到上游回购站(不称为“主”,但默认情况下为“起源”:git push origin myBranch),但是克隆时,默认克隆master分支,而不是myBranch
默认情况下,您的分支未被跟踪。
即,您的克隆上没有本地分支myBranch,该分支跟踪origin/myBranch(分支从远程回购获取)。

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


正如我提到的“Sell me Distributed revision control”,分支是正交出版(推/拉):

每次我想“签到”在我的分支修改 - 是否足够叫“混帐推起源my_branch”或“混帐推my_branch”

任何提交的是一个当地的一个,而不是ClearCase的(其提交最新的一集中分公司在配置规格)。
有关ClearCase和Git之间的差异,请参阅“What are the basic clearcase concepts every developer should know?”。

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

没有“特殊克隆模式”需要:克隆会克隆所有库的内容,与所有它的历史和分支机构。

+0

另请参阅http://stackoverflow.com/questions/2563836/sell-me-distributed-revision-control/2563917#2563917:不要混合上游回购(如'起源')和分支(如'主' )。 ClearCase主要是*集中* VCS,而不是DVCS:请参阅http://stackoverflow.com/questions/645008/what-are-the-basic-clearcase-concepts-every-developer-should-know/645771#645771两者的区别。 – VonC

+0

谢谢!我只是想了解工作流程。每次我想在我的分支上“签入”更改时 - 是否足以调用“git push origin my_branch”或“git push my_branch”?但是如果有人想要克隆我的更改,他会使用特殊的克隆模式? –

+0

@AndreyRubliov我编辑了答案来解决你的观点。如果您需要更新主分支,那么您需要首先在主分支上重新分配分支,然后推送主分支。请参阅http://stackoverflow.com/questions/804115/git-rebase-vs-git-merge/804178#804178 – VonC

0

运行

git push -u origin my_branch 

那么将来你可以运行 “混帐推”。

相关问题