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分支同步。

相关推荐
正经教主2 小时前
【Git】Git07:GitHub desktop使用教程【可选】
git·github
CoderJia程序员甲4 小时前
GitHub 热榜项目 - 日榜(2025-11-20)
ai·开源·大模型·github·ai教程
5***a97517 小时前
Git虚拟现实案例
git·vr
牛奔18 小时前
git 清理未跟踪文件
git
JinSo19 小时前
Ultracite:为 AI 时代打造的零配置代码规范工具
前端·javascript·github
uhakadotcom19 小时前
Next.js 从入门到精通(1):项目架构与 App Router—— 文件系统路由与目录结构全解析
前端·面试·github
摇滚侠20 小时前
VsCode 自带的 Git 使用教程
ide·git·vscode
H***997621 小时前
Git物联网案例
git·物联网
g***B73821 小时前
Git版本控制工具对比
git