如何删除或替换 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 分支?的主要内容,如果未能解决你的问题,请参考以下文章