最近真的是活久见了...不知道你是否也有碰到之前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 表示:

  1. Git 中的 master 与 Master / Slave完全没有关系,我们从来没见过Slave分支!
  2. 对于这样的修改是否有考虑过,现存项目、书籍、教程等内容都需要修改所付出的代价?

imbaniac 甚至顺便吐槽了一下:幸亏没有得到 Master 学位 (潜台词:是不是也要改?还是被剥夺?)

后面跟帖的支持者大多也都表示这里的master完全没关系,甚至还出现了中文语境的例子...这是要上天啊,反正小编给他点赞了!

Master 的鼻祖

对于这次Git分支更名事件针对默认分支:master,那么 master 是谁起的呢?如果你用过 Git,应该马上就想起了技术大神也是互联网巨炮手:Linus。

前不久,Linus 刚刚怒怼了 Intel CPU 的漏洞补丁,对于此次的 Git 默认分支命名之争,不知道会报如何想法呢,期望大神的发声!

对于这件 Git 默认分支命名的修改,您是否支持呢?欢迎参与投票、留言说说你的想法,留言区见!

用了那么多年的 Master 分支或因种族歧视而成为历史?的更多相关文章

  1. 准备上线,切换到master分支,报错

    切换到master分支,准备上线,把上次上线sourceTree保存的修改拉出来: 运行,报错了: stackOverflow一搜说要删除旧的: 我show in finder 把他删了,然后双击安装 ...

  2. merge 本地 master 分支代码提示 “Already up-to-date”

    在使用 git 的过程中由于误操作,导致从本地 master 分支 merge 代码到当前分支失败,虽然当前分支和 master 分支代码不同步,但是仍然提示 Already up-to-date. ...

  3. VS2013中使用git发布解决方案master分支的时候出现错误

    VS2013GIT基础用法请自行参考:不会Git命令,照样玩转Git 环境:VS2013+ 码云错误描述:在VS2013中使用git发布解决方案master分支的时候出现“无法将本地分支 master ...

  4. git 创建远程分支和删除 master 分支

    . . . . . 最近需要将不同的客户的代码分开管理,所以需要为这些代码分别创建分支. 目前版本库中分支结构如下: [yuhuashi@local:Project]$ git branch -a* ...

  5. 合并master分支到自己的分支

    切换到自己的分支(比如:self):git checkout self: 在自己分支下,推送自己的分支到github远端仓库:git push --set-upstream origin self: ...

  6. ThinkSNS+ 基于 Laravel master 分支,从 1 到 0,再到 0.1

    什么是 ThinkSNS+ 09 年,由北京的团队开发了 ThinkSNS 涉足社交开源行业.这么多年累计不少客户.2014-2016,两年都在维护和开发之前基于 TP 的 ThinkSNS , 慢慢 ...

  7. centos下安装最新版本git(通过master分支下载最新版)

    centos6.7下安装最新版本git 本文参考:http://www.01happy.com/centos-install-latest-git/ 按照原博主所提供的思路安装可能会出现下列问题 解决 ...

  8. Git 如何 clone 非 master 分支的代码

    问题描述 我们每次使用命令 git clone git@gitlab.xxx.com:xxxxx.git 默认 clone 的是这个仓库的 master 分支.如果最新的代码不在 master 分支上 ...

  9. 使用其他分支替换master分支

    在提交混乱的时候, 导致master分支和远程仓库完全一致的时候,这时候解决这种问题可以创建一个新的分支, 再合并到master分支, 像这样: git checkout seotweaks git ...

随机推荐

  1. Kattis - entertainmentbox

    题目链接:https://vjudge.net/problem/Kattis-entertainmentbox 题目大意: 一种叫做不知道什么的盒子可以同时录 k 个节目,现给出 n 个节目的开始和结 ...

  2. 27-1 分组-having

    group by select * from TblStudent --1.请从学生表中查询出每个班的班级id和班级人数 select tsclassId as 班级id, 班级人数=count(*) ...

  3. Java实现 LeetCode 798 得分最高的最小轮调 (暴力分析)

    798. 得分最高的最小轮调 给定一个数组 A,我们可以将它按一个非负整数 K 进行轮调,这样可以使数组变为 A[K], A[K+1], A{K+2], - A[A.length - 1], A[0] ...

  4. Java 第十一届 蓝桥杯 省模拟赛 字母重新排列

    字母重新排列 题目 问题描述 将LANQIAO中的字母重新排列,可以得到不同的单词,如LANQIAO.AAILNOQ等,注意这7个字母都要被用上,单词不一定有具体的英文意义. 请问,总共能排列如多少个 ...

  5. Java实现 LeetCode 729 我的日程安排表 I(二叉树)

    729. 我的日程安排表 I 实现一个 MyCalendar 类来存放你的日程安排.如果要添加的时间内没有其他安排,则可以存储这个新的日程安排. MyCalendar 有一个 book(int sta ...

  6. Java实现 LeetCode 657 机器人能否返回原点(暴力大法)

    657. 机器人能否返回原点 在二维平面上,有一个机器人从原点 (0, 0) 开始.给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束. 移动顺序由字符串表示.字符 move[i ...

  7. Java实现 蓝桥杯 算法提高 摩尔斯电码

    算法提高 9-3摩尔斯电码 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 摩尔斯电码破译.类似于乔林教材第213页的例6.5,要求输入摩尔斯码,返回英文.请不要使用"zy ...

  8. Java实现 LeetCode 382 链表随机节点

    382. 链表随机节点 给定一个单链表,随机选择链表的一个节点,并返回相应的节点值.保证每个节点被选的概率一样. 进阶: 如果链表十分大且长度未知,如何解决这个问题?你能否使用常数级空间复杂度实现? ...

  9. Java实现 LeetCode 131 分割回文串

    131. 分割回文串 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回 s 所有可能的分割方案. 示例: 输入: "aab" 输出: [ ["aa ...

  10. Java实现俄式乘法

    1 问题描述 首先,了解一下何为俄式乘法?此处,借用<算法设计与分析基础>第三版上一段文字介绍: 2 解决方案 package com.liuzhen.chapter4; public c ...