Github 太狠了,居然把 "master" 干掉了!
前段时间栈长有看到 Github 和 master 分支变更的新闻,当时没有注意细节,直到今天我创建仓库时:
看了半天感觉有点不对劲啊。。。
怎么 master 不见了,之前默认主干分支名称都是叫 master 啊,直到现在我才意识到了这个变更,原来是把 master 变成 main 了。
刚开始,我还有点不愿意接受这个现实,毕竟用了这么多年的 master,养成习惯了,也有感情了,你说变就变...
我本来还想着说不管了,我继续改成用我的 master 吧,后来还是想着用 main 算了,毕竟官方变更应该有它的理由,顺便想着研究下这背后的逻辑。。
1、为什么要变更 master 名称?
关注公众号Java技术栈的朋友应该都知道,今天 7 月份的时候 MySQL 也有类似的举动:《MySQL 宣布停止使用 master、slave!》,MySQL 宣布将 master、slave、blacklist(黑名单)和 whitelist(白名单)等术语分别替换为 source、replica、blocklist 和 allowlist。
这其中的奥秘就不用多说了,在国外,主、从、黑都涉及到种族歧视,所以很多涉及到这些的都被改名了,包括黑人牙膏,所以现在国外很多科技公司也加入了改名的征程也不奇怪了。
2、为什么是 main,而不是其他名称?
抱着学习的精神,我也找到了 Github 的官方改名申明:
Github 分析认为,main 是 master 的最佳替代名称,也是最受欢迎的,因为它能够很好的翻译大多数语言,也因为 main 够短,不用费脑子,凭肌肉记忆就让你见名知义。
如果你想让新建的仓库还是要用 master 或者默认其他名称,也不是不行,可以在设置中修改默认的名称:
设置默认仓库分支名称地址:
3、以前的 master 受不受影响?
从官方的申明来看,以前创建的仓库不受影响,Github 会分几个阶段进行修改,目的是尽可能的减少对现有项目的干扰。
栈长也看了下之前创建好的仓库,主干依然还是 master,所以说之前的并不会受影响,只是新建的默认主干分支名称变成 main 了。
想象下,如果 Github 批量把所有的仓库 master 名称都修改为 main,那势必是一场灾难,因为大家的主干都叫 master,它如果冷不丁的改了,主干的更新、推送就会受到影响,那些依赖 Github 仓库的业务也会受到影响,全球用户众多,所以肯定不敢贸然变更的。
所以,现在不变更也没事,Github 正在研发一款工具,到今年年底,现有的仓库也能够无缝地重命名默认分支了。
一起拭目以待吧,栈长也会持续关注动态,有消息公众号Java技术栈第一时间推送,不要走开。
近期热文推荐:
1.Java 15 正式发布, 14 个新特性,刷新你的认知!!
2.终于靠开源项目弄到 IntelliJ IDEA 激活码了,真香!
3.我用 Java 8 写了一段逻辑,同事直呼看不懂,你试试看。。
觉得不错,别忘了随手点赞+转发哦!
Github 太狠了,居然把 "master" 干掉了!的更多相关文章
- https://github.com/chenghuige/tensorflow-exp/blob/master/examples/sparse-tensor-classification/
https://github.com/chenghuige/tensorflow-exp/blob/master/examples/sparse-tensor-classification/ ...
- 结对项目https://github.com/bxoing1994/test/blob/master/源代码
所选项目名称:文本替换 结对人:曲承玉 github地址 :https://github.com/bxoing1994/test/blob/master/源代码 结对人github地址:ht ...
- https://github.com/python/cpython/blob/master/Doc/library/contextlib.rst 被同一个线程多次获取的同步基元组件
# -*- coding: utf-8 -*- import time from threading import Lock, RLock from datetime import datetime ...
- https://github.com/golang/crypto/blob/master/bcrypt/bcrypt.go
https://github.com/golang/crypto/blob/master/bcrypt/bcrypt.go
- https://github.com/PyMySQL/PyMySQL/blob/master/pymysql/connections.py
# Python implementation of the MySQL client-server protocol # http://dev.mysql.com/doc/internals/en/ ...
- https://github.com/tensorflow/models/blob/master/research/slim/datasets/preprocess_imagenet_validation_data.py 改编版
#!/usr/bin/env python # Copyright 2016 Google Inc. All Rights Reserved. # # Licensed under the Apach ...
- 用swoole实现mysql的连接池--摘自https://github.com/153734009/doc/blob/master/php/mysql_pool.php
<?php $serv = new swoole_server("0.0.0.0", 9508); $serv->set(['worker_num'=>1 ...
- GC 的认识(转) https://github.com/qcrao/Go-Questions/blob/master/GC/GC.md#1-什么是-gc有什么作用
1. 什么是 GC,有什么作用? GC,全称 Garbage Collection,即垃圾回收,是一种自动内存管理的机制. 当程序向操作系统申请的内存不再需要时,垃圾回收主动将其回收并供其他代码进行内 ...
- 盘点 Java 开发 2020 年发生的几件大事,你必须得知道!
2021 年了,在过去的一年 Java 软件开发行业都发生了哪些重大事件呢? 这篇栈长带大家回顾一下,其实在元旦的<滚蛋吧,2020>也略有介绍,这篇就更加详细的总结一下. 1.Java ...
随机推荐
- Android Studio从Eclipse导项目
要是你只下了Android Studio 就不能用Eclipse导出gradle项目了 可以直接使用Android Studio导入模块,在Android Studio里Project算Eclipse ...
- Hihocoder 1116 计算
这题最开始的时候看到线段树吧,没找到好的做法 想了下既然是乘积和 (-) (--) (---) 在脑子里就是这种线条位于各个位置,然后各种长度代表连续的乘积个数 然后把所有情况累加起来,但是并不好算 ...
- 有手就行 虚拟机上安装Linux
VMware上装Linux CentOS 初学一步步来
- Sqlmap Tamper绕过脚本详解
apostrophemask.py 作用:将引号替换为UTF-8,用于过滤单引号 base64encode.py 作用:替换为base64编码 multiplespaces.py 作用:围绕SQL关键 ...
- 使用StringUtils需要引用的依賴
<dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</ar ...
- 用Java爬虫爬取凤凰财经提供的沪深A股所有股票代号名称
要爬取的凤凰财经网址:http://app.finance.ifeng.com/list/stock.php?t=hs 本作主要采用的技术是jsoup,相关介绍网页:https://www.jians ...
- docker 修改容器配置文件
启动docker镜像命令docker run 可以指定端口映射,但是容器一旦创建就无法在通过命令修改.通常是保存镜像在创建一个新的容器.有没有办法不保存镜像直接修改这个容器呢?答案是有的,本文已mys ...
- PHP 类的构造方法 __construct()
1. 构造方法简介 构造方法 __construct() 是一种类结构特有的特殊方法,该方法由系统规定好 实例化一个类时:先调用该方法,再返回类的对象 构造方法也是普通方法,不同之处就是在实例化类时会 ...
- 基于MAXIMO的发电行业EAM解决方案
1. 行业背景 随着我国以“厂网分开,竞价上网”为特点的电力市场的起步和发展,发电厂.发电集团成为独立企业参与市场竞争,原有的“生产型”管理模式已经不再适应市场的需求.发电企业在重视安全质量.保证电力 ...
- golang slice学习
关于获取slice相关内存地址操作 s := make([]int, 1) t.Log(unsafe.Pointer(&s))// 获取当前slice 结构体实例的内存地址 t.Log(uns ...