GitHub要改默认分支名了,你的开源项目受影响了吗?

Posted Java面试宝典

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GitHub要改默认分支名了,你的开源项目受影响了吗?相关的知识,希望对你有一定的参考价值。


晚上浏览GitHub时偶然看到一个项目仓库github/renaming[1],该仓库是GitHub的官方仓库,内容相对权威。

大意是说:GitHub网站上仓库的默认分支是master,为了减少种族歧视,决定更改为main。看起来似乎是不大的改动,实际上牵一发而动全身,是系统性的影响。比如Git工作流、基于仓库的CI/CD、PR等流程。

正因为影响比较大,所以GitHub决定慢慢来,提醒各位开发者不要轻举妄动。

GitHub规划的时间线是:

  1. 对于已经把默认分支名改为main的,GitHub会提供支持,把指向原来master分支的链接重定向到新的。尚未改动的,GitHub后续会提供一个工具,帮助开发者尽可能无缝迁移。
  2. 7月31号,GitHub Pages功能支持任意分支,不再局限于master和gh-pages
  3. 今年夏天,GitHub平台将支持默认分支名可配置
  4. 到今年底,GitHub支持开发者修改默认分支名,并且不会影响PR、git clone等操作。

Git

Git是当前最主流的源代码版本管理工具,也是GitHub的底层技术。Git也会在2.28版本中提供新功能,提供init.defaultBranch,用于指定初始化项目时的默认分支名。

开发者首先要把自己的Git升级到2.28以上的版本:

➜  dotfiles git:(master) ✗ git --version
git version 2.28.0

然后运行命令git config --global init.defaultBranch main,这样你的git配置文件会出现如下新的配置:

[merge]
    tool = vimdiff
    log = true
[init]
 defaultBranch = main

然后我们新建一个Git仓库试试,这时新的分支已经变成main啦:

➜  newbranck git init
Initialized empty Git repository in /newbranck/.git/
➜  newbranck git:(main) 

总结

变更默认分支名这个看似简单的功能,却需要产业上下游协同努力,超过半年时间。可见软件开发和项目管理并不容易,这时你还会相信产品经理那句加个按钮,明天完成啊这种鬼话吗?

产品经理的嘴,骗人的鬼!

参考资料

[1]

github/renaming: https://github.com/github/renaming

[2]

the Git 2.28 blog post: https://github.blog/2020-07-27-highlights-from-git-2-28/#introducing-init-defaultbranch






我是陆道峰,菜鸡码农,以工程师的视角带你看待这个世界,欢迎关注~

以上是关于GitHub要改默认分支名了,你的开源项目受影响了吗?的主要内容,如果未能解决你的问题,请参考以下文章

Docker 禁止美国“实体清单”主体使用,Docker 开源项目不受影响

Github上 fork了别人的代码 本地更新主分支代码

Github上 fork了别人的代码 本地更新主分支代码

Docker 禁止美国“实体清单”主体使用,Docker 开源项目应不受影响

10月1日之后,GitHub库默认分支不再叫「master」了

Github 年度开源报告:TensorFlow 成最受欢迎深度学习项目