github创建项目后,应该用main还是master作为默认branch?

github创建项目后,应该用main还是master作为默认branch?

根据GitHub的最新政策,‌新创建的项目应该使用 main 作为默认分支 ‌‌。这一变化始于2020年10月,GitHub为了推动更具包容性的术语,将新仓库的默认分支名称从传统的 master 更改为 main‌。

主要区别与选择建议

  • 功能无差异 ‌:mainmaster 在功能上完全一致,都是指向仓库根提交的主分支‌。
  • 推荐使用 main ‌:
    • 新仓库 ‌:GitHub 默认创建 main 分支,这是当前推荐的做法‌。
    • 旧仓库 ‌:如果项目已存在 master 分支,可继续使用,但建议逐步迁移至 main 以保持一致性‌。
  • 操作建议 ‌:
    • 若本地初始化时默认生成 master 分支,可通过以下命令重命名为 main 并关联远程:

      复制代码
      复制代码
      git branch -m master main  # 重命名本地分支
      git push -u origin main    # 推送并建立跟踪关系

      随后可删除远程的 master 分支(可选)‌。

总结

选择 main 是遵循GitHub当前社区规范和支持包容性术语的体现,而 master 仍广泛存在于历史项目中。新项目应优先采用 main 作为默认分支‌。

实践

当前创立了一个项目:https://gitcode.com/skywalk163/liulanqifanyichajian

它的镜像放在github:skywalk163/liulanqifanyichajian

主分支用的是maser,要将它改回来

复制代码
git branch -m master main  # 重命名本地分支
git push -u origin main    # 推送并建立跟踪关系

实际操作的时候有报错,见下面调试部分,是最后让AI帮着处理完成的。

github那边还没改过来,不知道该怎么从gitcode同步过去.....

经验总结

可以看到当前应该用main作为主分支,但是有些AI创建推送的时候,还是推送到了master分支,所以要改过来。

最好的方法是一开始创建的时候,就重命名本地分支。如果一开始创建的时候,就创建main分支,那就更好了。我估计AI用了以前的资料,所以创建的是master.....

总之,下回创建的时候要盯着点,要引导AI创建main分支。

调试

git push -u origin main的时候报错

git push -u origin main

To https://gitcode.com/skywalk163/liulanqifanyichajian.git

! rejected main -> main (fetch first)

error: failed to push some refs to 'https://gitcode.com/skywalk163/liulanqifanyichajian.git'

hint: Updates were rejected because the remote contains work that you do not

hint: have locally. This is usually caused by another repository pushing to

hint: the same ref. If you want to integrate the remote changes, use

hint: 'git pull' before pushing again.

hint: See the 'Note about fast-forwards' in 'git push --help' for details.

尝试修改:

首先拉取远程代码并合并‌:

复制代码
git pull origin main

然后重新推送:

复制代码
git push -u origin main

还是报错,大约是readme文件有冲突.....

怒了,让AI帮着干吧!

验证完成,分支设置正确。现在我们已经成功将项目代码上传到main分支。让我总结一下完成的任务:

  1. 检查了当前分支状态

  2. 查看了远程分支情况

  3. 拉取并合并了远程main分支

  4. 解决了 README.md 的合并冲突,保留了本地详细版本

  5. 提交了合并结果

  6. 成功推送main分支到远程仓库

  7. 验证了分支设置正确

现在,liulanqifanyichajian项目的代码已经成功上传到main分支,并且本地main分支与远程main分支同步。

相关推荐
维基框架5 小时前
GitHub重构漏洞赏金计划 向AI批量报告说不
人工智能·重构·github
咖啡星人k5 小时前
【无标题】
前端·ai·github
逛逛GitHub5 小时前
本周 TOP 17 排名的 GitHub 开源项目大盘点,第一个值得收藏。
github
2301_809815256 小时前
Git和Gitee基本使用教程
git·gitee
雨翼轻尘7 小时前
01_Git概述及基本操作
git·概述·基本操作
DogDaoDao7 小时前
OpenBrowser 深度解析:让 AI 真正「用上」浏览器的自主代理框架
人工智能·程序员·大模型·github·web·ai工具·openbrowser
程序员果子9 小时前
CrewAI :当 Agent 学会团队协作
人工智能·git·python·多智能体·agent框架
‎ദ്ദിᵔ.˛.ᵔ₎9 小时前
Git GDB/CGDB调试器
git·gdb
晚来的棠棠10 小时前
彻底解决 github 无法访问或者访问慢的问题_github打开太慢了
github
tokenKe10 小时前
ego-lite:给 AI Agent 用的最快浏览器 | SSP Github Daily
人工智能·github