如何处理 Github 中的 main 和 master

How to deal with main and master in Github

我在 Github 中打开了一个带有自述文件的 Git 存储库,然后使用下面将本地代码推送到此存储库

git push origin master 

它显​​示了两个分支:main和master,但是git分支,它只显示了主分支

$ git branch
* main

由于主分支是空的,我在下面使用强制提交到主分支

git push --force origin main

现在有两个相同的分支:仓库中的 main 和 master,但仍然有 git 分支,只显示 *main.

当我点击大师时,显示:

This branch is even with main.

我用下面的方法删除master,但是报错如下:

$ git push main --delete origin/master
fatal: 'main' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我现在应该如何删除其中一个?
以及为什么 main 没有被 master 取代?
稍后我应该使用 git push origin main 而不是 master 来推送更改吗?
谢谢。

如果您想从 UI 执行此操作,您可以转到存储库的分支部分并删除要删除的分支。

分支名称最右边有删除图标。

如果你想在 git 上做:

git push origin --delete master

您在本地设置中只看到 main 的原因是,当您克隆任何 repo 时,只会克隆默认分支。要在 git 上有其他分支,您必须 fetchpull 另一个分支。

删除master后推送更改,可以使用git push origin main在主分支推送更改。

这表明
main 是你的主人你的仓库中没有其他分支

$ git branch
* main

如果可行,试试这个

git checkout master
git branch

你可以像这样删除一个分支。
如果要删除它,你不能在那个分支中

git branch -D branch_name

试试这个对我有用的方法。

第一个

$ git branch -M main

它基本上将 master 分支重命名为 main。

-M               move/rename a branch, even if target exists

第二

强制将提交推送到远程存储库中的主分支。

$ git push -u -f origin main

============================================= ==============

这是我返回的输出。
$ git push -u -f origin main
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/roxylius/gdfgdfgdf.git
 + 2926bd4...35f720a main -> main (forced update)
branch 'main' set up to track 'origin/main'.