Github의 Black lives matter

심심해서 Github 공식 블로그를 구경하다가 10월을 기점으로 Github에서 Repository를 생성할 때 Default 브랜치명이 master에서 main으로 바뀐다는 글을 보았다. (github.blog/changelog/2020-10-01-the-default-branch-for-newly-created-repositories-is-now-main/)

Default 브랜치명을 굳이? 왜? 바꿀까 싶어 찾아보았다. 최근 미국에서는 Black lives matter 운동이 큰 이슈가 되고 있다. 이러한 움직임의 연장으로 미국의 IT업계에는 이전부터 논란이 된 master/slave, blacklist/whitelist 와 같은 언어적인 문제들을 개선하려는 움직임이 많아지고 있다고 한다. 그 중 Github도 이러한 사회의 흐름에 발맞춰 움직인 것 같다.

이미 존재하는 Repository의 Default branch를 임의로 모두 바꾸게 되면 사용자들에게 큰 파장을 일으킬 수 있다. 이러한 문제가 발생하지 않도록 우선 신규 Repository 생성시에만 Default 브랜치명이 main으로 생성되고, 기존 Repository는 연말까지 변경을 지원 할 예정이라고 한다.(github.com/github/renaming#later-this-year-seamless-move-for-existing-repositories-)



실제 사용에 어떤 영향을 미칠까?

  • 삭제한 master 브랜치의 url을 main 브랜치로 redirect 지원
    eg) github.com/user_name/repository_name/blob/master/README.md -> github.com/user_name/repository_name/blob/main/README.md
  • Github 페이지를 사용할 때 gh-pages 만 사용할 수 있었는데 이러한 제한이 없어짐
  • user, organization, enterprize 단위로 Repository 생성시 자동 생성되는 Default branch 이름 설정이 가능해짐 



기존에 생성한 Repository의 Default branch를 변경하려면?

Step 1 - git branch 명령어 중 "-m / -M" 옵션을 사용하여 master 브랜치를 main 브랜치로 rename하고 remote 저장소에 push

$ git branch -help
usage: git branch [<options>] [-r | -a] [--merged | --no-merged]
   or: git branch [<options>] [-l] [-f] <branch-name> [<start-point>]
   or: git branch [<options>] [-r] (-d | -D) <branch-name>...
   or: git branch [<options>] (-m | -M) [<old-branch>] <new-branch>
   or: git branch [<options>] (-c | -C) [<old-branch>] <new-branch>
   or: git branch [<options>] [-r | -a] [--points-at]
   or: git branch [<options>] [-r | -a] [--format]

$ git branch -m master main
$ git push -u origin main

Step 2 - Github의 Repository 설정 변경

Step 3 - master 브랜치 삭제

사용하지 않는 브랜치는 지워주는게 좋다. 

github.com/user_name/repository_name/branches 에서 master 브랜치를 지워준다.



main이 아닌 다른 Default 브랜치명을 사용해야 한다면?

그렇다고 모든 신규 repository의 default 브랜치명을 main으로 강제하는 것은 아니다.
master 브랜치, 혹은 다른 이름의 default 브랜치를 계속해서 사용해야 한다면 github.com/settings/repositories 에서 아래의 빨간 박스가 되어 있는 main 대신 master 혹은 원하는 default 브랜치명으로 업데이트하면 새로운 repository를 생성해도 main으로 default 브랜치를 생성하지 않는다.



사담

미국의 IT업계에서 master/slave, blacklist/whitelist 등 일반적으로 사용되는 언어에 대해서 이미 논란이 있어 왔다는 것을 처음 알았다🤭
조지 플로이드 사건 이후 종종 기술 검색을 하거나 웹을 떠돌다보면 Reddit이 오렌지 로고에서 검정 로고로 변경한 것, 어떤 기술의 메인페이지에 Black lives matter 해시태그가 추가된 이미지가 있는다던지 등의 모습들이 보였는데 실제 내가 사용하는 영역까지 영향을 받는 것은 처음이라 인상깊었다.
다양한 인종이 있는 만큼 한국에서는 아무생각 없이 지나칠 부분에도 다양한 논의가 있고, 이를 개선한다는 것은 매우 좋은 것 같다. Black 뿐만 아니라 Asian에 대한 차별까지 관심이 확장되면 좋겠다🙃



참고

github.com/github/renaming

www.sedaily.com/NewsView/1Z567TI23H

반응형

 최근 공부한 내용을 Markdown문서로 정리하고 Github에 저장해서 정리하다보니 내용이 길어질 때 회사에서 사용하는 WIKI처럼 문서 상단에 링크가 걸린 목차를 만들고 싶어졌다.

 

TOC(Table Of Content)는 헤딩 태그를 기준으로 생성 되므로 문서 작성 시 TOC에 표기하고자 하는 문장들은 헤딩 태그로 명시 해 주어야 한다.

 헤딩 태그로 명시된 문장을 목차에 링크 걸기 위해서는 아래와 같은 포맷으로 작성 하면 된다. 이때 주의 할 점은 링크가 걸리는 텍스트의 띄어쓰기는 "-"로 명시해야 하거나 글자수+띄어쓰기 수 만큼의 "-"를 써준다. 하지만 명확하게 표기하기 위해 해당 문장을 그대로 쓰는 것을 추천한다 :)

[목차 텍스트1](#링크가-걸리는-텍스트1)
[목차 텍스트2](#------------)
...
# 링크가 걸리는 텍스트1
# 링크가 걸리는 텍스트2

 

 

 실제 작성한 예시와 결과는 아래와 같다.

## 목차

1. [깨끗한 코드](#1장.-깨끗한-코드)
2. [의미 있는 이름](#2장.-의미-있는-이름)

  

---

## 1장. 깨끗한 코드

### 보이스카우트 규칙

* 코드는 잘 짜기만 했을 때 끝나는 것이 아닌, 시간이 지나도 언제나 깨끗하게 유지해야 한다.
* 보이스카우트 규칙  
  ` 캠프장은 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라.`

---

## 2장. 의미 있는 이름

### 의도를 분명히 밝혀라

이름을 지을 때 아래의 질문들을 고려해야 한다.

* 변수(혹은 함수나 클래스)의 존재 이유는?
* 수행 기능은?
* 사용 방법은?

  위의 예시와 같이 작성하였을 때 깃헙에 커밋을 해 보면 아래와 같이 목차에 있는 깨끗한 코드, 의미 있는 이름에 링크가 걸림을 알 수 있다. 그리고 링크가 걸린 문장에 커서를 가져가면 1장. 깨끗한 코드앞에 링크 표식이 보이는 것 처럼 링크 표식이 나타난다.

 

 


* 위의 내용을 직접 만들지 않도록 도와주는 사이트가 있다. 

https://ecotrust-canada.github.io/markdown-toc/

 

Generate TOC Table of Contents from GitHub Markdown or Wiki Online

This page uses markdown-toc library to generate your MarkDown TOC online. paste markdown here # Paste Your Document In Here ## And a table of contents will be generated ## On the right side of this page. TOC generated here

ecotrust-canada.github.io

사이트에서 아래와 같이 직접 작성한 마크다운 문서를 빨간칸에 붙여넣으면 헤딩 태그를 기준으로 TOC(Table Of Content)를 생성 해 준다.

반응형

+ Recent posts