Github主分支和主分支的区别?
Posted
技术标签:
【中文标题】Github主分支和主分支的区别?【英文标题】:Difference Between Main Branch and Master Branch in Github? 【发布时间】:2021-01-22 17:33:32 【问题描述】:我在 master 分支上尝试了 git push,但它只是显示我有新的拉取请求,但是当我点击新的拉取请求时,它需要我比较更改,但没有显示将这些更改添加到存储库的任何选项。它只显示我所做的更改。
但是当我输入命令时
git push origin main
添加到我的存储库的所有文件。
但是当我这样做时
git push origin master
它不起作用。 为什么?我听说他们正在用 main 替换 master。那么将来他们会移除主人吗?
【问题讨论】:
作为答案的附加提示:您可以在 Github 设置中为特定项目和/或所有新项目设置默认分支。 【参考方案1】:您可以按照说明进行操作:
之前,请检查您的分支是否命名为“master”(旧分支,更改为“main”)或“main”。
对于分支“main”,否则使用“master”(旧分支)
要推送到远程的上游分支,请使用:
git push origin HEAD:main
要推送到远程的同名分支,使用:
git push origin HEAD
要永久选择任一选项,请参阅 git help config
中的 push.default
。
【讨论】:
感谢@Zsolt Meszaros 的更正。我只是用粗体突出了命令,但效果不佳。 如上所述(其他 cmets)- GitHub 正在将新存储库的术语“master”替换为“main”(不带引号)。【参考方案2】:GitHub 正在努力将其服务中的“master”一词替换为“main”等中性词,以避免对奴隶制的任何不必要提及,
您可以在此处阅读更改原因here 的更多背景信息:
关于将您的分支从 master 重命名为 main,有很多准则。 For example:
git branch -m master main \
git push -u origin main \
git remote set-head origin main
【讨论】:
这仅适用于 github 还是 git 中的默认值也会改变?如果你使用bitbucket或其他服务器不会受到影响? 为什么我的 MainCard 不工作??【参考方案3】:当我想将我的文件上传到 gitlab 时,我遇到了这个问题并使用了这个:
git branch -m master main
参考资料:
How to Rename the master branch to main in Git
Change Default Branch - Locally and Gitlab
【讨论】:
【参考方案4】:GitHub 首席执行官周五表示,GitHub 正在努力将其服务中的“master”一词替换为“main”等中性词,以避免不必要地提及奴隶制。
现在命令看起来像这样:
git push -u origin main
git remote set-head origin main
它尚未在 Enterprise 中更新,但已反映在社区版中。
更新:您可以将存储库设置中的 main
更改回 master
。
【讨论】:
【参考方案5】:您可以按照以下说明操作:
首先在 GitHub 上创建一个 repo。然后进入你的本地文件夹。打开控制台。依次输入这些命令。
git init
在本地文件夹中初始化 git。
git remote add origin https://github.com/...
克隆你的 Github 存储库。
git pull origin main
校准存储库。 “main”意味着在这种情况下主分支的内容被复制到本地 repo。除了master分支,还可以创建其他的分支,这里我就不细说了。一开始,有一个简单的 master 分支就足够了。
git branch -m master main
那么我们在这里做什么?首先使用 -m 命令,我们将 git 历史记录从 master 移动到一个名为 main 的新分支。
git add .
locale 目录上传到 Github 服务器。
git commit -m "your commit message"
git push --set-upstream origin main
创建提交后,可以在 GitHub 上更新远程仓库。第一次上传(“推送”)时,您必须指定哪个分支应该是推送的默认分支。在我们的例子中,这又应该是“origin” repo 中的 master 分支
【讨论】:
【参考方案6】:他们只是更改了新存储库的默认分支。你也可以在这里设置回master
-> https://github.com/settings/repositories
【讨论】:
【参考方案7】:main
分支已经将所有新的 github 存储库替换为主分支。你可以阅读它here。 main 和 master 没有实际区别,只是默认分支的名称。
为您git push origin master
只需创建一个名为 master 的新分支(因为它尚不存在)并将您当前的提交推送到那里。
【讨论】:
我是否应该从现在开始避免使用git push origin master
,而改用git push origin main
?
要么你这样做,要么像@minion在他的回答中解释的那样将 main 重命名为 master以上是关于Github主分支和主分支的区别?的主要内容,如果未能解决你的问题,请参考以下文章
如何创建从一个分支的 Bitbucket 到 GitHub 中的主分支的合并拉取请求