Github:将一个新的开发分支插入我的叉
我以为我的git漂亮了,但是我对这个问题有点阻碍。Github:将一个新的开发分支插入我的叉
下面是图片:我将一个项目的'develop'分支分成了我自己的github回购,克隆到本地,创建了git-flow功能,做了一些东西并发布。一切都好。
与此同时,原来的项目变成了一个新的开发分支(称之为'develop2'),所以我发布的功能无法被引入到主项目中。
所以 - 建议 - 我创建了一个本地'develop2'分支,删除了我的本地'develop'分支,从主项目回购中拉出'develop2',然后将其与我的本地功能合并。一切正常,除... 我个人的github回购仍然有旧的'开发'分支和基于该分支的功能。
所以,我的问题是我现在要做什么? 几个选项我已考虑:
- 删除我在从主体工程github上,叉“develop2”全部“发展”叉,然后将这个我的本地回购,合并,然后再次发布我的特点并发出拉请求。 (不确定性寿:我需要克隆,而不是拉新的分支所以它有正确的由来。)
- 删除“发展”的起源和特性分支,推新develop2分支,等等
- 力推我的“develop2”分支起源发展,然后将其重命名,并做相同的特征..
如果出现任何错误,虽然我可能卡住具有重做了一大堆东西哪至少可以说是无聊的。 任何意见从那里的专家?
你绝对不需要重做东西 - Git有很好的处理这类问题的能力。首先,GitHub上的叉子是整个仓库,所以删除你的“开发”叉“并不意味着什么 - 你只需要将上游develop2
变化带入你的分支。我建议添加一个名为upstream
的远程设备,以便从我分叉的存储库中轻松获取更改。
现在假设您添加了upstream
,git fetch
应该将upstream/develop2
下拉到您的本地存储库中。我会撤销你的合并(可能是git reset --hard develop~
),从那里创建一个develop2
分支以保持一致性,然后将你的本地develop2
更改分配到upstream/develop2
:git rebase --onto upstream/develop2 upstream/develop develop
。
前:
X---Y---Z upstream/develop2
/
| H---I---J develop, develop2
| /
| E---F---G upstream/develop
|/
A---B---C---D
后:
H'--I'--J' develop2
/
X---Y---Z upstream/develop2
/
| H---I---J develop
| /
| E---F---G upstream/develop
|/
A---B---C---D
谢谢 - 是的,这是有道理的。但我想我已经找到答案了。让我的github回购符合我的本地。基本上我的选择2以上,但需要一个小github细节。页面在这里:http://matthew-brett.github.com/pydagogue/gh_delete_master.html 总结: 1. git push origin develop2(新开发分支到github回购) 2。转到github回购,点击'管理员',设置默认分支开发2 3.然后可以删除旧的开发分支即。 git push origin:develop 4.然后像往常一样推送功能。 – user1025174