【问题标题】:How to make a branch the new master while keeping old master as a branch?如何在将旧 master 保留为分支的同时使分支成为新 master?
【发布时间】:2019-01-27 02:52:50
【问题描述】:

我有一个项目,我正在以 2 种不同的方式构建电子商务网站,一种使用 react,一种仅使用 vanilla js。目前 vanilla 分支是 master,react 分支称为 react-version。我想切换它们并使 react-version 成为 master 和 vanilla 可以称为 vanillajs-version。

我查看了其他一些答案,但在这些情况下不需要旧主人,而在我的情况下它是。

谢谢!

更新:

正如这个答案Switch branch names in git 中所建议的那样,我能够在本地存储库中切换名称,但是当我尝试推送到远程时,我收到一条错误消息:

错误:未能将一些参考推送到“https://github.com/tito300/Elegant-T-K-FullStack.git” 提示:更新被拒绝,因为您当前分支的尖端落后 它的远程对应物。集成远程更改(例如 'git pull ...') 在再次推动之前。 有关详细信息,请参阅“git push --help”中的“关于快进的说明”。

我不想集成它们,因为它们基本上是不同的实现。我很早就在项目中扩展了业务。有什么解决办法吗?

【问题讨论】:

  • 对,你所做的只是重命名分支:将 master 重命名为 vanillajs-version,删除 master,然后将 react-version 重命名为 master。仔细阅读其他答案,您正在两个地方进行真正想要同意的更改。
  • 查看问题中的更新
  • 虽然不是推荐的做法,但您可以使用git push -f xx xx 推送。这将强制更新遥控器。记住 - 这将覆盖您的提交历史记录,因此请谨慎使用。
  • 建议您使用git pull xx xx

标签: git github


【解决方案1】:

您可以执行以下步骤:

  1. 创建一个名为 vanillajs-version 的新分支
  2. 创建从 master 分支到 vanillajs-version 分支的拉取请求
  3. 删除master分支的内容。
  4. 从 react-version 分支创建拉取请求 到 master 分支。
  5. 删除 react-version 分支或保持原样 想要

【讨论】:

  • 在第 3 部分中,您的意思是删除文件还是删除分支本身?
  • 如果不能删除分支可以删除文件,master分支的文件会在第二步复制到vanillajs-version分支。
猜你喜欢
  • 2011-02-15
  • 2013-11-14
  • 2013-12-25
  • 1970-01-01
  • 2022-12-11
  • 1970-01-01
  • 1970-01-01
  • 2011-10-09
相关资源
最近更新 更多