Git:将主分支替换为其他分支

Git: Replace main branch with other branch

提问人:JoeTheSmiter 提问时间:11/10/2023 更新时间:11/10/2023 访问量:50

问:

我已经接管了一个 repo,之前的开发人员有一个分支,基本上成为主分支。这个分支是他们推向生产的分支。主分支没有正常运行的代码,并且两个分支都落后于相当多的提交。

对主分支的提交都是完全不必要的,另一个分支应该成为新的主分支。实现这一目标的最佳方法是什么?

如果我合并另一个分支,将有大量冲突需要解决。我们正在考虑将分支重新定位到 main 上,但我认为这仍然会有类似的问题。

有关更多信息,我们有一个本地存储库,远程开发存储库位于 CodeCommit 上,用于 AWS 服务器。

p.s. 我是一个新开发人员,我的老板以前使用过其他 VCS,所以也是 Git 的新手,所以请善待,因为我们是新手。

我们创建了一个沙盒服务器和环境来测试。我最初的测试是删除 main 分支并将另一个分支重命名为 main,但这导致 CodeCommit 上的远程存储库出现错误,提示我无法删除当前的默认分支。我尝试将原点头更改为另一个分支,但这也没有帮助。

git git-branch aws-codecommit

评论


答:

1赞 matt 11/10/2023 #1

对主分支的提交都是完全不必要的,另一个分支应该成为新的主分支。实现这一目标的最佳方法是什么?

将另一个分支重命名为“main”。

例。假设您的另一个分支称为:other

git branch -M other main

Git 中的分支只是一个名称——可以把它想象成一个字符串、一个标签、一张纸,附加到一个提交上。此代码只是将标签从过去的最后一次提交转移到过去的最后一次提交。mainother

构成旧 的 提交 ,不再具有标签,将被悄悄遗忘并最终自动删除。main

评论

0赞 matt 11/10/2023
我不知道CodeCommit是什么,所以我对这部分无能为力。我假设您正在计算机上的克隆中执行这项工作。之后您将不得不推动,我希望 CodeCommit 允许这样做。如果没有,它就表现得很糟糕。main--force
0赞 Jim Redmond 11/10/2023
CodeCommit 是一种提供存储库托管的 AWS 产品。它大致类似于 GitHub,只是完全在 AWS 生态系统中。