我有一个稳定且在线的 Web 应用程序。几周前,我决定开始开发一个新功能,并创建了一个开发分支。自那时以来,我已经完成了这个开发,并希望使这个功能上线。
我阅读了有关 git rebase
的资料,虽然我理解重置分支的概念,但我不确定如何应用它,即最佳实践方面。我创建了第二个“虚拟”的本地仓库以尝试一些东西。我的想法是,一旦开发完成并且稳定,这就应该成为您的新“稳定”(主)分支。因此我尝试了以下命令:
git rebase development master
: 最终这个命令起作用了,但是在合并过程中产生了一些冲突,所以很让人恼火。不过,这意味着master
分支拥有所有新的开发功能。git rebase master development
: 这个命令速度比较快,因为没有需要解决的冲突,但所有的开发功能仍留在development
分支上,这不能反映在我的 "稳定"master
分支上。
git pull
将远程分支合并到我的本地分支中(也许是另一个问题)。由于我对VCS还不熟悉,所以我真的不确定哪种方法是最佳实践?有人能提供一些建议吗?我想拥有一个主稳定分支(
master
),并具备新功能。大多数人是否将development
rebase到master
上并且放弃(以归档方式)“旧”的master
分支?还是应该始终将master
rebase到development
上以保持“稳定”分支的进展,并在未来需要时创建新的开发分支?另一个问题是rebase后出现分歧的分支。这会在
git pull
时产生问题,因为有太多分歧的提交(请参见下面的图像)。你有什么想法?最好的方法是什么?
dev
分支,然后将dev
合并到master
分支,是否有一个标准的保留旧dev
分支的时间?此外,对于git push --force
,我想您是指在这种情况下使用dev
分支? - Zeta-Squareddev
分支(在合并到master
后):新的提交将存储在该“新”的(重复使用的)dev
分支上。 - VonC