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

相关推荐
ursazoo1 天前
写了一份 7000字指南,让 AI 帮我消化每天的信息流
人工智能·开源·github
小兵张健2 天前
Playwright MCP 截图标注方案调研(推荐方案1)
前端·javascript·github
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
vibecoding日记2 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
九狼2 天前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
逛逛GitHub3 天前
4 个热门的 GitHub 开源项目
github
程序员鱼皮3 天前
GitHub 关注突破 2w,我总结了 10 个涨星涨粉技巧!
前端·后端·github