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

相关推荐
wangruofeng5 小时前
20822 star 的开源录屏软件弃 Tauri 换 Electron:表层是换壳,里子是 46 个 Rust 模块
github·音视频开发
CAD老兵7 小时前
一行代码集成 DWG/DXF 图纸查看:测量批注,数据不出站
前端·javascript·github
zh_xuan9 小时前
github搭建个人主页
html·github
fthux10 小时前
装闭 RenoPit 源码解析(10):AI如何审查装修合同与报价单
人工智能·ai·开源·github·open source·renopit
TunerT_TQ10 小时前
Google|LangExtract 源码静态评测:从 90 个 Python 文件看大模型结构化信息抽取工程基础
google·开源·github
Vuhao11 小时前
DeepSeek Harness:我 vibe coding 一个会陪你的桃濑日和
开源·github
Jay-r11 小时前
DeepSeek Harness 极简上手:装好、玩熟、让它自己长新能力
人工智能·windows·ai·github·ai编程·deepseek·harness
CAD老兵14 小时前
让 AI Coding Agent 直接访问 CAD 文档:GitMCP 实战指南
前端·人工智能·github
Revolution6114 小时前
DeepSeek Harness 最近上线:Everything is a Plugin 有什么特别之处
llm·github·deepseek
互联网中的一颗神经元15 小时前
ZZ — Git 速查表
大数据·git·elasticsearch