git 如何在撤销所有与特性分支相关的提交后,将主分支提交合并到特性分支?

lpwwtiir  于 2023-02-11  发布在  Git
关注(0)|答案(1)|浏览(192)

我有一个场景,其中有一个master分支,而一个feature分支是从master分支中剪切出来的。
1.主分支
1.功能分支
我们对代码的所有修改都被提交到 * feature * 分支进行自定义配置测试。2同时,其他开发人员也会同时提交到 * master * 分支。
所以一两周后,我想从 * master * 分支中获取所有新的修改,并且git删除我在 * Feature * 分支中提交的所有修改。也就是说,我想让我的 * feature * 分支与最新的 * master * 分支同步,但不删除我的提交。
我得到了将 * master * 提交到我的 * feature * 分支的解决方案,但没有非常清晰的解决方案来从我的 * feature * 分支中删除我的提交。
我的最终目标是每隔几周将我的feature分支与 * master * 分支同步,并删除我所有的提交,这样我的 * feature * 分支就与 * master * 相同了。
这可以简单地通过删除特性分支并从master创建一个新分支来完成,但是我们没有创建/删除新分支的能力,所以我们需要使用单个特性分支来进行所有的自定义测试。

mwngjboj

mwngjboj1#

我们无权创建/删除新分支
但是,如果可以强制推送,则有一个重置特性分支的简单选项:

git switch master
git pull
git switch -C feature master
git push --force

如果没有,请从"git command for making one branch like another"中选择一个选项。
例如:

git switch -c tmp master
git merge -s ours feature       # ignoring all changes from feature
git checkout feature
git merge tmp                   # fast-forward to tmp HEAD
git branch -D tmp               # deleting tmp

相关问题