为什么“ git push main”可以在 GitHub 上工作,而“ git push master”却不能?还有,“主支”和“主支”有什么区别?

我在主分支上尝试了 git push,但它只显示了一个新的 pull 请求。当我单击新的 pull 请求时,它会将我带到比较更改视图,但是没有显示任何将这些更改添加到存储库的选项。它只显示了我所做的改变:

Screenshot of different branches

Screenshot of the GitHub Compare Changes view showing no changes

当我输入指令时

git push origin main

所有添加到我的存储库中的文件。

但是当我这么做的时候

git push origin master

没用的。 为什么?我听说他们要用主电源代替主电源。那么,将来他们是不是要除掉主人?

110713 次浏览

来自 ZDNet 的文章 GitHub 将“ master”替换为替代术语,以避免引用奴隶制:

GitHub 正在努力将其服务中的“ master”一词替换为“ main”这样的中性词,以避免不必要地提及奴隶制,

关于将分支从 master 重命名为 main,有很多指导方针。 For example:

git branch -m master main \
git push -u origin main \
git remote set-head origin main

main分支已经取代了所有新的 github 回购作为主要分支。你可以读读它 给你。Main 和 master 之间没有实际的区别,它只是默认分支的名称。

对于您来说,git push origin master只是创建了一个名为 师父的新分支(因为它现在还不存在) ,并将当前的提交推送到那里。

他们只是更改了新存储库的默认分支,您也可以将其设置回 master-> https://github.com/settings/repositories

你只需要按照说明:

在此之前,检查您的分支是否命名为“ master”(旧分支,更改为“ main”)或“ main”。

对于分支“ main”,否则使用“ master”(旧分支)

要在遥控器上推到上游分支,请使用:

git push origin HEAD:main

To push to the branch of the same name on the remote, use:

git push origin HEAD

若要永久选择任一选项,请参见 git help config中的 push.default

GitHub 首席执行官上周五表示,GitHub 正在努力将其服务中的“ master”一词替换为“ main”这样的中性词,以避免任何不必要地提及奴隶制。

现在命令看起来像这样:

git push -u origin main git remote set-head origin main

它还没有在企业版中更新,但已经反映在社区版中了。

更新: 您可以从存储库设置中将 main改回 master

You can follow these instructions:

At first create a repo at GitHub. Then go into your local folder. Open a console. Enter these commands one after the other.

git init

Initialises git in your local folder.

git remote add origin https://github.com/...

克隆你的 Github 回购。

git pull origin main

校准回购。“ main”表示在这种情况下,主分支的内容被复制到本地回购。除了主分支之外,还可以创建其他分支,但是我不会详细讨论这个问题。首先,有一个简单的主分支就足够了。

git branch -m master main

So what are we doing here? First with the -m command we are moving the git history from master to a new branch called main.

git add .

语言环境目录被上传到 Github 服务器。

git commit -m "your commit message"


git push --set-upstream origin main

创建提交之后,可以在 GitHub 上更新远程回购。当第一次上传时(“ push”) ,您必须指定哪个分支应该是 push 的默认分支。在我们的例子中,这应该再次是“原点”回购中的主分支

当我想上传我的文件到 gitlab 我有这个问题,并使用这个:

git branch -m master main

参考文献:

如何在 Git 中将主分支重命名为 main

更改默认分支-本地和 Gitlab