master를 사용하지 않게 된 이유는 'Black Lives Matter' 운동에 발맞춰 주종(주인과 노예)관계를 뜻하는 'master', 'slave'를 다른 단어로 대체하기 위해서라고 합니다.
2020년 6월 Go 언어가 인종차별적 요소나 주종 관계의 의미를 담고 있는 whitelist/blacklist와 master/slave라는 용어를 프로젝트에서 제거하기로 결정하면서 업계 전반에 이런 부분을 제거하는 움직임이 일어나기 시작했습니다.
이후 master를 기본 브랜치로 사용하던 Git에서도 이 논의가 이루어졌고 브렌치를 사용자가 지정할 수 있도록 변경하였습니다.
이어서 GitHub도 기본 브랜치를 master에서 main으로 변경하기로 했고, 2020년 10월 1일부터 적용되었습니다. 이제 저장소를 생성할 때 초기화 옵션을 선택하면 main 브랜치가 기본 브랜치로 생성됨을 알려줍니다.
Git 2.28부터 사용자가 기존의 master로 지정되어 있던 기본 브랜치를 설정을 통해서 변경할 수 있는 기능이 추가되었습니다. 기본은 master로 동작하지만, 사용자가 원하는 대로 바꿔서 사용할 수 있습니다.
이제 기본 브렌치를 master에서 main으로 바꾸는 방법을 알아 보도록 하겠습니다.
1. Git의 버전부터 2.28이상인지 확인해 보도록 하겠습니다. 그리고 main으로 설정합니다.
설정이 끝나면 새로 생성하는 저장소부터 적용됩니다
$ git version
git version 2.28.0
$ git config --global init.defaultBranch main
2. 설정이 잘 됬는지 config를 확인해 봅니다.
config의 우선 순위는 Local > Global > System순이며 Local 설정 파일이 제일 높습니다.
개발 환경의 설정 config에 따라서 확인하면 됩니다.
git config --system --list # System 설정 파일을 확인
git config --global --list # Global 설정 파일을 확인
git config --local --list # Local 설정 파일을 확인
git config --list # 모든 설정을 확인
3. 만일 이미 master로 프로젝트를 진행 중에 main으로 바꾸고 싶다면 다음 명령을 사용합니다.
GitHub를 사용하다 보면 진행 중인 프로젝트를 누군가와 공유하고 싶은 경우가 있습니다. Private repository를 직접 팀원등과 직접 공유하고 싶은 경우가 있습니다. 이런 경우에는 Collaborators를 이용하면 공유한 사람만 저장소에 접속할 수 있고, 등록되지 않은 사람에게는 여전히 Private 저장소이기 때문에 볼 수가 없습니다.
한가지 주의할 점은 저장소를 공유한 사람이나 공유 받은 사람 모두 저장소의 내용을 수정할 수 있으니 사용에 주의를 기울여 주셔야 합니다.
[ 저장소를 공유하려는 사람 ]
1. 먼저 Private 저장소를 선택하고 Settings에서 Collaborators 를 선택해 줍니다.
2. 새로 나온 창에 GitHub에 등록된 상대방의 ID나 이메일을 입력합니다.
or
3. 등록된 ID나 이메일을 선택합니다.
or
4. 이제 등록이 완료 되었습니다. 리스트에 한명이 등록되고, 버튼이 다시 등록할 수 있도록 바뀌었습니다.
이렇게 반복하면 여러명의 collaborator를 등록할 수 있습니다.
[ 누군가에게 저장소를 공유 받은 사람 ]
1. 누군가가 저장소를 공유하게 되면, 공유 받은 사람에게 다음과 같은 메일이 도착합니다.
메일에서 초대장 보기를 클릭합니다.
2. 초대장 보기를 클릭하면 웹 브라우저에 다음과 같은 페이지가 나타납니다.
여기서 'Accept invitation' 버튼을 클릭합니다.
3. 이제 공유된 저장소를 사용할 수 있습니다.
화면에서 알 수 있듯이 공유한 사람의 ID는 왼쪽에, 공유 받은 사람의 아이콘은 왼쪽에 있는 것을 확인할 수 있습니다.
4. 공유한 사람과 공유 받은 사람 모두 Private 저장소로 유지되어 있는 것을 확인할 수 있습니다.
또한 공유 받은 사람의 저장소 리스트 에도 공유 저장소의 이름을 확인할 수 있으며, 본인의 저장소 처럼 자유롭게 사용할 수 있습니다.
[ 공유를 끊고 싶을 때 ]
- 공유 중인 저장소를 더 이상 공유하고 싶지 않을때는 Collaborators에서 해당 해당 ID를 삭제해 주면 됩니다.
Collaborator 아이콘 오른쪽의 'Remove' 버튼을 클릭해 주면 됩니다.
- 공유는 한 명만 가능한게 아닙니다. 아래 화면에 보면 'Add people' 버튼을 클릭하고 원하는 만큼 추가 할 수 있습니다.
[ 주의 사항 ] Collaborator를 추가하면 주의할 점이 한가지 있습니다. fork를 통해서 full request하는 것과는 달리, 공유한 사람에게 아무런 확인없이 공유 받은 사람이 수정할 수 있다는 점입니다. 공유받은 사람이 수정하길 원치 않는다면 사용에 주의해야 합니다. 물론 어떤 사람이 수정했는지는 commit을 보면 알 수 있습니다.