用了那么多年的 Master 分支或因种族歧视而成为历史?
最近真的是活久见了...不知道你是否也有碰到之前Fork过的国外开源项目,最近突然崩了,原因居然是好多项目都把master分支改为了main分支!更可怕的是修改原因居然是涉及种族歧视。用了那么多年的master,居然是种族歧视?到底发生了什么?
运动的发起
这次的 master 改 main 的倡导运动发起自知名技术博主 Scott Hanselman。6月8日 Scott 发文呼吁将你的Git默认分支从master修改为main:

Scott认为:IETF中所指出的Master-Slave是具有不恰当的隐喻,不论从技术上还是历史上,这个描述都不够准确,所以他希望可以修改关于主分支的描述词为 main,同时还给出了详细的修改方法。
更多详细倡导内容可见 Scott 的原文:https://www.hanselman.com/blog/EasilyRenameYourGitDefaultBranchFromMasterToMain.aspx
随后,各路业内网友也加入支持:
Chrome的开发者 Una Kravets表示,原因是:main更简单、更容易记住、如果队友觉得舒服就改吧、如果让黑人朋友好受那更好!

Una Kravets的这一条twitter同时还@了github的CEO,希望能够支持这一举动。
随即,Github CEO Nat Friedman在 twitter 上回应:这是一个好主意,我们已经正在做了!

这意味着啥?目前庞大的开源项目库都要把 master 改为 main 了吗?
反对的声音
如果只是平时用此更改一个词汇没有多大问题,但是对于已经运行这么多年的开源项目,面对 master 改 main 的运动,还是会收到一些影响,尤其是一些基础层面的开源项目,由于这些项目有非常多的子孙项目,一个祖先项目的修改,将会牵连非常多。就技术人层面而言,这种情况通常是不希望看到的,因此很多国外技术人对此表示反对。
比如跟我们一样突然被改名搞崩的国外友人:

imbaniac 表示:
- Git 中的 master 与
Master / Slave完全没有关系,我们从来没见过Slave分支! - 对于这样的修改是否有考虑过,现存项目、书籍、教程等内容都需要修改所付出的代价?
imbaniac 甚至顺便吐槽了一下:幸亏没有得到 Master 学位 (潜台词:是不是也要改?还是被剥夺?)
后面跟帖的支持者大多也都表示这里的master完全没关系,甚至还出现了中文语境的例子...这是要上天啊,反正小编给他点赞了!
Master 的鼻祖
对于这次Git分支更名事件针对默认分支:master,那么 master 是谁起的呢?如果你用过 Git,应该马上就想起了技术大神也是互联网巨炮手:Linus。
前不久,Linus 刚刚怒怼了 Intel CPU 的漏洞补丁,对于此次的 Git 默认分支命名之争,不知道会报如何想法呢,期望大神的发声!
对于这件 Git 默认分支命名的修改,您是否支持呢?欢迎参与投票、留言说说你的想法,留言区见!
用了那么多年的 Master 分支或因种族歧视而成为历史?的更多相关文章
- 准备上线,切换到master分支,报错
切换到master分支,准备上线,把上次上线sourceTree保存的修改拉出来: 运行,报错了: stackOverflow一搜说要删除旧的: 我show in finder 把他删了,然后双击安装 ...
- merge 本地 master 分支代码提示 “Already up-to-date”
在使用 git 的过程中由于误操作,导致从本地 master 分支 merge 代码到当前分支失败,虽然当前分支和 master 分支代码不同步,但是仍然提示 Already up-to-date. ...
- VS2013中使用git发布解决方案master分支的时候出现错误
VS2013GIT基础用法请自行参考:不会Git命令,照样玩转Git 环境:VS2013+ 码云错误描述:在VS2013中使用git发布解决方案master分支的时候出现“无法将本地分支 master ...
- git 创建远程分支和删除 master 分支
. . . . . 最近需要将不同的客户的代码分开管理,所以需要为这些代码分别创建分支. 目前版本库中分支结构如下: [yuhuashi@local:Project]$ git branch -a* ...
- 合并master分支到自己的分支
切换到自己的分支(比如:self):git checkout self: 在自己分支下,推送自己的分支到github远端仓库:git push --set-upstream origin self: ...
- ThinkSNS+ 基于 Laravel master 分支,从 1 到 0,再到 0.1
什么是 ThinkSNS+ 09 年,由北京的团队开发了 ThinkSNS 涉足社交开源行业.这么多年累计不少客户.2014-2016,两年都在维护和开发之前基于 TP 的 ThinkSNS , 慢慢 ...
- centos下安装最新版本git(通过master分支下载最新版)
centos6.7下安装最新版本git 本文参考:http://www.01happy.com/centos-install-latest-git/ 按照原博主所提供的思路安装可能会出现下列问题 解决 ...
- Git 如何 clone 非 master 分支的代码
问题描述 我们每次使用命令 git clone git@gitlab.xxx.com:xxxxx.git 默认 clone 的是这个仓库的 master 分支.如果最新的代码不在 master 分支上 ...
- 使用其他分支替换master分支
在提交混乱的时候, 导致master分支和远程仓库完全一致的时候,这时候解决这种问题可以创建一个新的分支, 再合并到master分支, 像这样: git checkout seotweaks git ...
随机推荐
- arch 系列manjaro更新deepin-screenshot没有图标
问题描述 deepin软件安装到其他分支后,这个问题出现,相信各位一点都不意外,原因不细说,简单的概括就是没有DDE的桌面环境!! 简单介绍 deepin-screen截图软件在使用的时候是深受国人的 ...
- jupyter 文件夹重命名
jupyter 文件夹 如何重命名嘞?可能很多童鞋没找到吧,哈哈哈 我们先创建一个文件夹,如何创建嘞,往下看. 然后我们就可以看到, 如何重命名呐,注意注意了啊,选中你创建的文件夹,单击Rename. ...
- 《计算机网络》课程笔记 (Ch03-运输层)
为运行在不同主机上的应用进程之间提供逻辑通信功能. 将应用层报文切分为块,然后加上运输层首部,形成报文段,交付给网络层. 多路复用与多路分解 将网络层提供的主机到主机交付服务延伸到进程到进程交付服务. ...
- 获取数据库连接的方式 & Statement操作数据库的弊端
1.获取数据库连接的方式 TestConnection package com.aff.connection; import java.io.InputStream; import java.sql. ...
- 小谢第6问:js中,filter函数是怎么使用的
数组的常用方法filter,今天在做数组筛选的时候用到需要将有重复的数组去除,因此用到这个函数,主要用到-- 选择需要的属性,最终留下想要的数组,如果刚开始的话可以看下下面代码 let nums = ...
- 学习scrapy框架爬小说
一.背景:近期学习python爬虫技术,感觉挺有趣.由于手动自制爬虫感觉效率低,了解到爬虫界有先进的工具可用,尝试学学scrapy爬虫框架的使用. 二.环境:centos7,python3.7,scr ...
- Rocket - diplomacy - MixedNode
https://mp.weixin.qq.com/s/zgeAI2n-2cHJi7-Ra5rYZA 介绍MixedNode的实现. 1. 类定义 2. inner/ou ...
- js函数中的this关键字
关于这个this关键字,也是很多项目中常常被用到的,那么,有人也许会问,干嘛要用this呢,在函数被调用时,直接指明是什么对象在调用不就行了?还整那么个模模糊糊的概念出来干嘛?不过嘛,存在即真理,既然 ...
- 基础数论——EXGCD
1.前言 \(皆さん.こんにちは.\)今天我们来讲 \(EXGCD\) .(扩展欧几里得) 既然是扩展嘛,那肯定有不扩展的,也就是 \(GCD\) . 我们都知道 \(GCD\) 怎么写: ll GC ...
- Java并发编程 (四) 线程安全性
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.线程安全性-原子性-atomic-1 1.线程安全性 定义: 当某个线程访问某个类时,不管运行时环境 ...