如何删除或替换 github 中的 master 分支?

Posted

技术标签:

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

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

问题是:

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

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

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

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

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

附:我正在使用 VS 2019

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

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

【问题讨论】:

【参考方案1】:

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

git reset --hard OhThisAmazingBranch

强制推送你的新主分支

git push -f origin master

【讨论】:

【参考方案2】:

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

    将默认分支从master 更改为OhThisAmazingBranch:这可以在Settings > Branches 中完成并设置默认分支。更多信息here。 删除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】:

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

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

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

【讨论】:

以上是关于如何删除或替换 github 中的 master 分支?的主要内容,如果未能解决你的问题,请参考以下文章

如何删除或替换列表中的单词或字符

为反对种族歧视,GitHub正在把master/slave等术语替换掉

如何删掉github上的master分枝

从GitHub远程仓库中删除文件夹或文件

git如何删除已经提交的文件夹

GitHub将替换掉master等术语,网友:把我项目都搞崩啦