Git 2장 - Git branch
포스트
취소

Git 2장 - Git branch

Git

Git branch 다루기

  • 처음에 GitHub Repository를 생성하면 나오는 main 브랜치에서만 작업을 하다가 새로운 기능 개발을 위해 feature 브랜치를 새로 생성하는 경우, 기존 main 브랜치에서의 작업은 유지하고 새로운 feature 브랜치에서 자유롭게 코드를 추가 및 삭제할 수 있습니다. image

브랜치 생성하기/변경하기

1
2
3
4
5
6
7
8
# feature라는 브랜치를 새로 생성하는 경우, -c를 붙입니다.
git switch -c feature
# checkout이라는 명령어도 사용할 수 있습니다.
git checkout -b feature

# 기존에 있던 main 브랜치로 HEAD를 변경하려면, -c를 붙이지 않습니다.
git switch main
git checkout main

image

브랜치 합치기

1
2
3
4
5
6
7
8
# 기능 개발이 진행되었습니다.
git commit -m "기능1의 세부 기능1"
git commit -m "기능1의 세부 기능2"
git commit -m "기능1 개발 완료"
# 머지를 위해 main 브랜치로 전환
git switch main
# main 브랜치로 feat/todo 브랜치를 병함
git merge feat/todo
  • 실제 프로젝트 개발 시에는 브랜치를 로컬에서 합치기 보다는 GitHub의 pull request 기능을 이용하여 변경 내역을 충분히 확인하고 난 다음에 머지하는 경우가 더 많기 때문에, 로컬에서 머지하지 않고 feature 브랜치를 push하여 pull request를 요청하는 것을 권장합니다.
1
2
3
4
5
6
7
# 기능 개발이 진행되었습니다.
git commit -m "기능1의 세부 기능1"
git commit -m "기능1의 세부 기능2"
git commit -m "기능1 개발 완료"
# GitHub 리포지토리로 푸시합니다.
git push origin feat/todo
# GitHub에서 Pull Request를 합니다.

브랜치 삭제하기

  • 머지된 feature 브랜치는 이미 dev 브랜치에 기록이 완벽하게 남아있기 때문에 굳이 남겨둘 이유가 없어 삭제를 권장합니다. 원격 리포지토리에서 pull request가 성공적으로 마무리되면, 아래 스크린샷처럼 브랜치를 삭제하는 버튼을 눌러 쉽게 삭제할 수 있습니다. image

  • 로컬 리포지토리에서 브랜치 삭제는 git branch -d <브랜치명> 으로 할 수 있습니다.

1
git branch -d feat/todo
  • Git은 원활한 버전 관리를 위해서, 브랜치가 합쳐지지 않으면 삭제하지 못하도록 설정이 되어있습니다. 하지만 종종 다 만들지 못한 기능의 기록을 삭제하고 싶을 수 있습니다. 이 때 -D 옵션을 쓰면 삭제할 수 있습니다.
1
git branch -D feat/todo

2024-01-25

원격 저장소

  • git remote update : 원격 저장소의 branch를 업데이트 한다.
  • git branch -r : 원격 저장소의 branch를 볼 수 있다.
  • git branch -a : 원격과 로컬 저장소의 모든 branch를 볼 수 있다.
  • git checkout -t [원격 branch] : 원격 branch의 이름과 동일하게 로컬 저장소에 생성한다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.