【发布时间】:2015-09-29 22:07:18
【问题描述】:
我正在使用理论上应该遵循 Gitflow 工作流程的存储库(参见 Vincent Driessen 的 A successful git branching model)。但是,存储库上的初始提交是在 develop 分支上进行的,并且看不到 master 分支。发布时间快到了,我需要创建一个master 分支来反映项目的生产就绪状态,该状态应该从一开始就存在。请记住,develop 分支有多个特性分支。存储库完全是本地的,尚未推送。
我的想法是创建一个孤立分支 master 并将 develop 分支重新定位到它上面,但我不知道该怎么做。
那么,如何创建 master 分支,就好像它是从一开始就创建的一样?
更新:在我的情况下,develop 上的第一次提交不是应该被认为适合生产的提交,因此将其用作初始 master 提交是不明智的。项目之所以处于这种状态,是因为当初决定使用Git的时候并没有使用VCS。
【问题讨论】:
-
那么,拥有一个 master 就足够了吗,或者您实际上需要一个伪造的初始提交并带有过去的日期?
-
@JSelser 具有正确日期的初始提交会很好,但只要 repo 有效运行,主分支代表项目的生产就绪状态,它就解决了我的问题。
-
develop分支是否反映了正确的生产就绪历史?只需git branch master develop。 git 中没有固有的分支基础,只有两个历史不同的地方。 -
@jthill 不,
develop分支应该代表项目的开发状态。由于从未发布过,并且master分支不是从一开始就创建的,因此没有代表项目生产就绪状态的分支。 -
如果开发分支还没有反映您想要的历史记录,重新设置它不会有帮助。绘制您拥有的提交图,记住每个提交都是项目状态的完整快照,并添加您想要反映生产快照的任何新提交。重要的是图表,而不是贴在提示上的标签。您将如何生成您的第一个生产就绪状态提交?
标签: git version-control git-rebase git-flow git-rewrite-history