重新设置 master 和 development 分支

Rebasing master and development branch

我有一个稳定且在线的 Web 应用程序。几周前,我决定开始研究一项新功能并创建了一个开发分支。我已经完成了这个开发,并想让这个功能上线。

我已经阅读了 git rebase,虽然我理解重新设置分支的概念,但从最佳实践的角度来看,我不确定应该如何应用它。我创建了第二个“虚拟”本地回购来尝试一些事情。我的想法是,一旦开发完成且稳定,这应该是您新的“稳定”(主)分支。所以我尝试了:

在这两种情况下,一旦 rebase 完成,我就会收到通知,告知我的本地分支已从远程分支分离,并通知我 git pull 将远程分支合并到我的本地分支(可能是另一个问题)。

由于我是 VCS 的新手,所以我不确定哪种方法是最佳实践方法?有人可以提供一些建议吗?我想要一个主要的稳定分支 (master) 和我的新功能。大多数人是否将 development 变基到 master 并丢弃(从某种意义上说,它已存档)“旧”master 分支?或者我应该总是将 master 变基到 development 以保持“稳定”分支的进展并在将来需要时创建新的开发分支?

另一个问题是变基后的分歧分支。这会在 git pull 上产生问题,因为有太多不同的提交(见下图)。

你有什么想法?最好的方法是什么?

git rebase master development: This was much quicker as there were no conflicts to resolve, however, all the development features remain on the development branch and this is not reflected on my "stable" master branch.

是:您需要合并(在变基之后)developmentmaster 以便 master 反映 development

变基的目标(作为第一步)是确保变基的 development 分支仍然在 up-to-date master 之上工作,解决任何可能的冲突本地。

然后从 devmaster 的合并是微不足道的,因为所有 dev 提交都已经在 master.

之上

请注意,任何变基都需要 git push --force 才能发布变基分支的新历史记录。如果您是唯一一个在该分支机构工作的人,那没什么大不了的。