【问题标题】:How to delete or replace master branch in github?如何删除或替换 github 中的 master 分支?
【发布时间】:2020-05-06 11:59:04
【问题描述】:

我在使用 github 时遇到了问题。

问题是:

  1. 我已经创建了一个存储库。

  2. 我已经填写了master分支但是犯了一个大错误,所以我不需要一个大故事。

  3. 然后我创建一个新分支(OhThisAmazingBranch),清空并开始正常项目,没有问题。

  4. 我需要删除 master 分支并将 OhThisAmazingBranch 设为 master。

如何做到这一点?这甚至可能吗?

附:我正在使用 VS 2019

UPD。我试过建议我在这里问之前发现的东西,他们没有用,所以我在这里。

UPD2。谢谢大家的回答,我会尝试每一个对我有用的东西,如果有帮助,请告诉你。

【问题讨论】:

    标签: git github


    【解决方案1】:

    用“OhThisAmazingBranch”硬重置你的主分支

    git reset --hard OhThisAmazingBranch

    强制推送你的新主分支

    git push -f origin master

    【讨论】:

      【解决方案2】:

      虽然其他答案提到了如何恢复您的主分支,但如果您希望完全按照问题中提到的方式进行操作,请使用以下步骤:

      1. 将默认分支从master 更改为OhThisAmazingBranch:这可以在Settings > Branches 中完成并设置默认分支。更多信息here
      2. 删除master 分支:这可以通过单击分支图标,然后单击分支名称前面的删除选项来完成。更多信息here

      然后,您可以根据需要重命名 OhThisAmazingBranch,如 here 所述。

      【讨论】:

      • 可能是一个完全有效的答案,但我不确定你为什么认为这正是作者的想法。 GitHub 在这里几乎无关紧要,作者也没有明确询问如何通过 GitHub Web 界面解决它。
      【解决方案3】:

      理想情况下,您不应该以这种方式绕过您的 master 分支。相反,如果您不喜欢 master 分支设置的初始方向,那么也许只需创建一个功能分支并朝您想要的方向移动。话虽这么说,如果你真的想这样做,你可以尝试将master 重置为本地第一次提交,然后修改第一次提交:

      # from local master
      git reset --hard <first SHA-1 commit hash>
      # make the code changes you want here
      git commit --amend -m 'new first commit'
      git push --force origin master
      

      请注意,修改步骤是在master 分支开头引入您想要的更改所必需的。

      【讨论】:

        【解决方案4】:

        如果您被允许并愿意进行破坏性操作,那么您可以尝试以下操作:

        1. 签出您的本地 master 分支。例如git checkout master
        2. 将其重置为您要保留的最后一次提交。例如git reset --hard COMMIT_HASH
        3. 然后将其强制推送到您的遥控器。例如git push -f origin master

        现在您的本地和远程 master 分支是相同的。您可以从它分支并从另一个分支中挑选提交。 (不过可能会有冲突。)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-06
          • 2013-10-07
          • 2017-07-15
          • 1970-01-01
          • 2021-12-11
          • 2022-10-18
          • 2015-03-09
          • 2013-02-05
          相关资源
          最近更新 更多