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

相关推荐
言66619 小时前
要忽略前端依赖包node_modules的文件在目录下 git暂存区消失
git
徐小夕19 小时前
我们放弃了单Agent方案:HiCAD 3.0 用 Harness 做多Agent编排,把3D建模的准确率提升了30%
前端·算法·github
Java面试题总结19 小时前
MarkItDown 再次登顶GitHub榜
开发语言·c#·github
佛系豪豪吖19 小时前
AtomCode 部署流程与使用经验
笔记·chatgpt·github·ai编程·gitcode
胡小禾19 小时前
Git Worktree
git
程序员小羊!20 小时前
18 GIt
git
怣疯knight20 小时前
Git 本地分支关联远程分支 常用命令汇总
git
ANNENBERG20 小时前
git分支开发管理
git
坤坤藤椒牛肉面20 小时前
GIT的使用
git
w32963627120 小时前
使用 OpenCode 在 Windows 上加速安装 Playwright 的完整指南
windows·git