GIT - 如何使分支与主分支相同

标签 git version-control

我有一个使用 git 的网站

该设置将 master 分支作为实时站点,将 develop 分支作为开发域,用于在功能上线之前对其进行测试

从来没有直接在 master 或 develop 上完成任何工作,它总是在功能分支上完成,然后 merge 到 develop 进行测试,然后由 master 上线

我的问题是我有一个站点,该站点已将大量工作 merge 到永远不会上线的开发分支中

我被要求让 develop 分支与 master 分支匹配,以确保永远不会上线的工作不会影响 merge 到 develop 中的其他新功能的测试

我做了一些研究,根据我的理解,我不能使用 rebase ,因为它更多地用于更新一个分支,其中包含自您分支以来所做的提交

似乎做我需要的唯一选择是重命名 develop 分支,然后从 master 重新创建它并强制推送以远程更新它

这是我最好的选择吗?还是有其他我不知道的方法?或者也许 rebase 是正确的,但我不太理解它的目的?

提前致谢

最佳答案

如果您不关心保留 develop 只需 checkout develop 并将其重置为 mastermain 或您/您的团队命名的任何内容你的默认分支。

# 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/

相关文章:

git - 如何在 gitlab 上更改提交作者?

Git推送权限被拒绝(公钥)但成功通过身份验证

git - p4 命令相当于 git/hg/bzr/svn status 之类的命令是什么? (提示: not `p4 status` )

svn - 从 Mercurial 迁移到 Subversion

git - 本地 "forking"一个 git 仓库

git - 如何在 Visual Studio 2013 中显示 'git blame'?

ruby-on-rails - 尝试克隆一个旧的 repo 并获取 PGconn、PGresult 和 PGError 常量已被弃用,并将从 1.0 版开始删除

version-control - 在版本控制模型领域做了哪些工作?

c - 如何让程序在源代码管理中显示正确的版本号?

从源代码控制进行 Azure 部署 - 代码优先迁移