我正在分支'my_branch'上的(私有)存储库中开发代码。
经过一些开发后,我很高兴我所做的事情,并且我想将'my_branch'保存到主存储库(因此,如果我的磁盘出现故障,它不会丢失)。
但我不想将我的更改合并到master分支。
我用了命令:
git push
然后:
得到了克隆
并将主存储库克隆到另一个目录。但我注意到,当我更改为my_branch时,在该目录中,文件不包含我的更改。
请帮忙!
(在我看来,每个人通常都会以类似的方式工作:不时地支持你的分支,而尚未将它合并到主人那里?)
我以前在ClearCase工作,它的好处是:只要你在私人分支机构办理登记文件,它就永远不会被删除,但从另一方面它不在主分支上而你可以继续开发代码而不会打扰其他开发人员。
答案 0 :(得分:0)
您可以将分支推送到上游仓库(默认情况下不称为“主”,但“默认为”git push origin myBranch
),但在克隆时,默认情况下会克隆{{1} }分支,而不是master
并且默认情况下不会跟踪您的分支
即,您的克隆上没有本地分支myBranch
,跟踪myBranch
(从远程仓库获取分支)。
在克隆上,您需要为所有已获取的远程分支创建本地分支 请参阅“Track all remote git branches as local branches”。
正如我在“Sell me Distributed revision control”中提到的,分支与发布(推/拉)正交:
每次我想在我的分支上“登记”更改 - 是否足以称为“git push origin my_branch”或“git push my_branch”
任何提交都是本地提交,而不是ClearCase(提交在配置规范中的集中式分支的LATEST)。
有关ClearCase和Git之间的差异,请参阅“What are the basic clearcase concepts every developer should know?”。
因此,您的本地回购中会保留一个简单的提交,对所有其他开发者都不可见。
如果您将分支推送到上游仓库(请参阅“Definition of “downstream” and “upstream””),该分支将由其他开发人员克隆,但除非他们在自己的本地仓库中检出该分支,否则他们将看不到其内容。 />
默认情况下,他们会看到origin/myBranch
分支。
不需要“特殊克隆模式”:克隆将克隆所有存储库内容, all 其历史记录和分支。
答案 1 :(得分:0)
运行
git push -u origin my_branch
然后将来你可以运行“git push”。