将提交从 Master 带回暂存的最佳方法

Best Way to Bring Commits from Master Back to Staging

我们不小心将一堆新的提交直接放入我们的 Master 分支,现在我们需要将它们带回 Staging。避免 git 问题的最佳方法是什么?

这是我们的流程(请注意我们通常如何从功能分支转到暂存,然后是主分支):

功能分支 -> 暂存 -> 主 -> 部署

您可以简单地将暂存重置为 master:

git checkout staging
git reset --hard origin/master
git push --force

这将使登台与母版相同。使用这种方法可能会遇到的问题是任何功能分支合并到暂存,但还没有在 master 中,需要再次重新合并到暂存中。

如果您有其他考虑,请在评论中告诉我们,我们很乐意重新考虑我的回答。

假设你说的是 master 的本地副本。

转到暂存分支:

git checkout staging

在 master 之上重新设置基准(包括您想要的更改):

git rebase master

或者,代替rebase master,你可以使用:

git cherry-pick <commit-sha1>

对于您希望从 master 带入暂存分支的每个提交