重新设置 master 和 development 分支
Rebasing master and development branch
我有一个稳定且在线的 Web 应用程序。几周前,我决定开始研究一项新功能并创建了一个开发分支。我已经完成了这个开发,并想让这个功能上线。
我已经阅读了 git rebase
,虽然我理解重新设置分支的概念,但从最佳实践的角度来看,我不确定应该如何应用它。我创建了第二个“虚拟”本地回购来尝试一些事情。我的想法是,一旦开发完成且稳定,这应该是您新的“稳定”(主)分支。所以我尝试了:
git rebase development master
:这最终奏效了,但如我所料很烦人,因为它有几个冲突需要解决。但是,这意味着 master
分支具有所有新的开发功能。
git rebase master development
:这要快得多,因为没有冲突需要解决,但是,所有开发功能都保留在 development
分支上,这没有反映在我的“稳定”master
分支.
在这两种情况下,一旦 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.
是:您需要合并(在变基之后)development
到 master
以便 master
反映 development
。
变基的目标(作为第一步)是确保变基的 development
分支仍然在 up-to-date master
之上工作,解决任何可能的冲突本地。
然后从 dev
到 master
的合并是微不足道的,因为所有 dev
提交都已经在 master
.
之上
请注意,任何变基都需要 git push --force
才能发布变基分支的新历史记录。如果您是唯一一个在该分支机构工作的人,那没什么大不了的。
我有一个稳定且在线的 Web 应用程序。几周前,我决定开始研究一项新功能并创建了一个开发分支。我已经完成了这个开发,并想让这个功能上线。
我已经阅读了 git rebase
,虽然我理解重新设置分支的概念,但从最佳实践的角度来看,我不确定应该如何应用它。我创建了第二个“虚拟”本地回购来尝试一些事情。我的想法是,一旦开发完成且稳定,这应该是您新的“稳定”(主)分支。所以我尝试了:
git rebase development master
:这最终奏效了,但如我所料很烦人,因为它有几个冲突需要解决。但是,这意味着master
分支具有所有新的开发功能。git rebase master development
:这要快得多,因为没有冲突需要解决,但是,所有开发功能都保留在development
分支上,这没有反映在我的“稳定”master
分支.
在这两种情况下,一旦 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.
是:您需要合并(在变基之后)development
到 master
以便 master
反映 development
。
变基的目标(作为第一步)是确保变基的 development
分支仍然在 up-to-date master
之上工作,解决任何可能的冲突本地。
然后从 dev
到 master
的合并是微不足道的,因为所有 dev
提交都已经在 master
.
请注意,任何变基都需要 git push --force
才能发布变基分支的新历史记录。如果您是唯一一个在该分支机构工作的人,那没什么大不了的。