
브랜치(Branch)란?
브랜치는 Git에서 프로젝트의 작업 공간을 분리해서 독립적으로 작업할 수 있도록 만들어주는 기능입니다. 새로운 기능 개발이나 버그 수정을 할 때, 기존 코드에 영향을 주지 않고 작업할 수 있어 매우 유용합니다.
브랜치 명령어 정리
- 브랜치 생성새로운 브랜치를 생성하지만, 생성 후 자동으로 이동하지는 않습니다.
git branch [브랜치 이름]- 브랜치 이동또는
git checkout [브랜치 이름]git switch [브랜치 이름]- 브랜치 생성과 동시에 이동
git switch를 사용할 경우git checkout을 사용할 경우 git checkout -b [브랜치 이름]git switch -c [브랜치 이름]- 브랜치 병합작업이 완료된 브랜치를 현재 브랜치에 병합합니다.
git merge \[브랜치 이름\]
브랜치 옵션 간단 정리
옵션 설명
| -c [브랜치 이름] | switch 명령어로 브랜치를 만들면서 이동 |
|---|---|
| -b [브랜치 이름] | checkout 명령어로 브랜치를 만들면서 이동 |
Pull Request로 협업하기
Pull Request(P.R)는 "변경 내용을 검토하고 병합을 요청하는 과정"을 의미합니다. 터미널에서 바로 병합하지 않고, GitHub에서 Pull Request를 활용하면 협업 과정에서 큰 장점을 얻을 수 있습니다.
터미널 병합 대신 GitHub에서 병합하는 이유
- 터미널로 직접 병합하면 기록이 명확하지 않아 추적이 어렵습니다.
- GitHub의 Pull Request를 사용하면 팀원들이 내 코드를 확인하고, 리뷰하거나 코멘트를 남길 수 있습니다.
- 협업 중 문제점을 사전에 발견하고 해결할 수 있어 코드 품질을 높일 수 있습니다.
Pull Request 프로세스
- 브랜치를 생성하고 이동합니다.
- 기능을 개발하고 변경 내용을 커밋(Commit)합니다.
- 작업한 브랜치를 원격 저장소에 푸시(Push)합니다.
- GitHub에서 Pull Request를 생성합니다.
- 팀원 리뷰 후 GitHub에서 병합(Merge)합니다.
- 로컬에서도 병합된 내용을 반영합니다:
git pull origin main
Main 브랜치의 문제점과 해결책
문제: Main 브랜치는 배포용이다!
Main 브랜치는 배포용으로 안정성을 유지해야 합니다. 테스트되지 않은 코드를 Main에 병합하면 큰 문제가 발생할 수 있습니다.
해결 방법 1: 개발용 브랜치 추가
브랜치를 다음과 같이 분리하여 관리합니다:
- Main 브랜치: 배포용 (Production)
- Develop 브랜치: 테스트용 (Integration/Testing)
- 기능 브랜치: 기능 개발용 (Feature Branch)
작업은 기능 브랜치에서 진행하며, 작업 완료 후 Develop 브랜치로 병합하여 테스트합니다. 최종적으로 문제가 없을 때 Main 브랜치에 병합합니다.
해결 방법 2: 로컬에서 먼저 테스트
- Develop 브랜치의 코드를 로컬로 가져옵니다:
- git pull origin develop
- 로컬 환경에서 충분히 테스트를 진행합니다.
- 오류가 없으면 변경 내용을 Develop 브랜치에 푸시합니다:
git push origin develop
'Git' 카테고리의 다른 글
| Git & GitHub 정리 (1) | 2024.12.23 |
|---|