[GitHub] Branch란 - main과master

LeeJunO·2023년 7월 5일

GitHub

목록 보기
2/4

오늘 만든 레포지토리
↑ 오늘 새로만든 repository

기존 레포지토리
↑ 기존 repository

오늘 GitHub에서 새로운 repository를 생성했는데 기존 repository와 다르게 2개의 Branches가 만들어져있었고 main branch를 보호하라는 알림이 뜬 것을 확인했다.

깃허브 초보인 나는 branch 조차 뭔지 몰랐다.

그래서 찾아보니

Branch란

각각 독립적으로 작업을 진행하기 위한 개념이다.
각각의 Branch들은 서로 영향을 받지 않기 때문에 동시에 각자의 branch속에서 작업을 할 수 있는 것이다.

그리고 그렇게 만들어진 Branch들을 하나의 main(master) Branch에 병합(Merge)하여 협업을 이어 나가는 것이다.

그래서 왜 이제야 그랬는지는 모르겠지만
2개의 branches가 생성되었으니 중요branch를 보호하는 규칙을 만들라는 GitHub의 조언이었다.

나의 repository에 2개의 Branch가 생성된 이유

local repository(Git)에서는 중요 Branch를 master라는 이름으로 생성하고
GitHub의 repository에서는 중요 Branch를 main이라는 이름으로 생성한다.

왜 그런가하니 2020년도 전까지는 Git과 GitHub 모두 master라는 이름으로 중요Branch를 생성해왔는데 Black Lives Matter 운동이 IT업계에도 영향을 주어서 GitHub에선 Master/Salve를 연상시키는 Master라는 용어를 Main으로 변경하면서 Git에서 생성하는 중요Branch이름과 GitHub에서 생성하는 중요Branch의 이름이 달라진 것이다.

해결방법

위의 조언을 받아들여 Branch보호 규칙을 만들어 주었다.

당장의 조언같은 경고문은 없어졌지만

아무래도 이렇게 사용하다가는 나중에 혼동이 올 것 같았고 구글링하다가 그러한 사례들을 발견했기 때문에 나도 중요 Branch를 좋은 방향으로 통일 시키기로 결심했다.

local repository와 GitHub repository의 기본 Branch명 통일

방법은 여러가지가 존재한다.
1. GitHub에서 Branch명을 master로 변경하기
2. local Git 에서 Branch명을 main으로 변경하기

나는 좋은 뜻을 이어받아 2번 방식을 하기로 결심했다.

1. 기존 local repository Branch명 main으로 변경하기


터미널 -> local repository 의 .git 확인 -> Branch명 확인해보니 master 이다.

$ git branch -m master main

현재 Git repo의 기본branch 이름을 main 으로 변경

$ git fetch origin

GitHub의 origin repo에서 최신 변경사항을 가져옴
local repo와 GitHub repo의 동기화유지를 위함

$ git branch -u origin/main main

main branch가 원격(GitHub) repo의 'origin/main' branch를 추적하도록 설정
pull을 할 때 'origin/main'에서 변경사항들 가져오도록 설정해주는 것

$ git remote set-head origin -a

원격(GitHub)의 기본branch를 자동으로 갱신
-a 옵션으로 모든 repo에 적용 되도록해줌

해당 디렉토리에서 위 명령어를 사용해준다.

branch 명이 main으로 바뀌었음을 알 수 있다.

2. local Git에서 기본 Branch명을 main으로 변경하기

$ git config --global init.defaultBranch main

위 코드만 써주면 된다.

맥북 기준 홈 디렉토리에서 .gitconfig 를 cat명령어를 사용하면 확인할 수 있다.

3. GitHub에서 기존 repository Branch명 main으로 변경하기

아무 repository클릭 -> settings -> Default branch 수정

reference
브랜치란 참고 사이트
브랜치명 변경 참고 사이트
브랜치명 변경 참고 사이트 2 Github Docs
Chat GPT


$ git branch -u origin/main main 해당 명령어 실행시 밑의 오류가 떴었는데 시간이 지나서 다시 해보니 해결되었다.

0개의 댓글