我有一个使用 git 的网站
该设置将 master 分支作为实时站点,将 develop 分支作为开发域,用于在功能上线之前对其进行测试
从来没有直接在 master 或 develop 上完成任何工作,它总是在功能分支上完成,然后 merge 到 develop 进行测试,然后由 master 上线
我的问题是我有一个站点,该站点已将大量工作 merge 到永远不会上线的开发分支中
我被要求让 develop 分支与 master 分支匹配,以确保永远不会上线的工作不会影响 merge 到 develop 中的其他新功能的测试
我做了一些研究,根据我的理解,我不能使用 rebase ,因为它更多地用于更新一个分支,其中包含自您分支以来所做的提交
似乎做我需要的唯一选择是重命名 develop 分支,然后从 master 重新创建它并强制推送以远程更新它
这是我最好的选择吗?还是有其他我不知道的方法?或者也许 rebase 是正确的,但我不太理解它的目的?
提前致谢
最佳答案
如果您不关心保留 develop 只需 checkout develop
并将其重置为 master
或 main
或您/您的团队命名的任何内容你的默认分支。
# make sure the default branch is up to date before you do this
git checkout develop
git reset --hard master # replace with your name if it differs
git push -f # force push the branch
这通常在每天早上为 integration
分支完成,因此夜间集成始终基于 master。
关于GIT - 如何使分支与主分支相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29796127/