github创建项目后,应该用main还是master作为默认branch?
根据GitHub的最新政策,新创建的项目应该使用 main 作为默认分支 。这一变化始于2020年10月,GitHub为了推动更具包容性的术语,将新仓库的默认分支名称从传统的 master 更改为 main。
主要区别与选择建议
- 功能无差异 :
main和master在功能上完全一致,都是指向仓库根提交的主分支。 - 推荐使用
main:- 新仓库 :GitHub 默认创建
main分支,这是当前推荐的做法。 - 旧仓库 :如果项目已存在
master分支,可继续使用,但建议逐步迁移至main以保持一致性。
- 新仓库 :GitHub 默认创建
- 操作建议 :
-
若本地初始化时默认生成
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分支。让我总结一下完成的任务:
检查了当前分支状态
查看了远程分支情况
拉取并合并了远程main分支
解决了 README.md 的合并冲突,保留了本地详细版本
提交了合并结果
成功推送main分支到远程仓库
验证了分支设置正确
现在,liulanqifanyichajian项目的代码已经成功上传到main分支,并且本地main分支与远程main分支同步。