Git 브랜치 'developer01' 생성하고 활용하기 : 'main'브랜치와 협업작업
시나리오
안정적인 버전이 있는 main 브랜치가 있습니다. developer01 개발자는 새로운 '로그인 기능'을 추가하는 임무를 받았습니다. 이 작업을 main 브랜치에 직접 하면, 개발 중인 미완성 코드가 main에 섞여 다른 팀원에게 영향을 줄 수 있습니다. 따라서 developer01이라는 자신만의 작업 공간(브랜치)을 만들어 안전하게 기능을 개발하고, 완료된 후에 main에 합치는 과정을 따를 것입니다.
1. 브랜치 생성 및 이동
developer01이라는 이름의 브랜치를 새로 만들고, 그 브랜치로 작업 환경을 전환합니다.
추천하는 방법 (생성과 동시에 이동)
터미널에서 아래 명령어를 실행하세요. 새로운 브랜치를 만들고(-b 옵션) 즉시 그 브랜치로 이동(checkout)하는 가장 일반적인 방법입니다.
#bash
git checkout -b developer01
이 명령어는 아래 두 명령어를 합친 것과 같습니다.
- git branch developer01 (브랜치 생성)
- git checkout developer01 (브랜치로 이동/전환)
확인하기
현재 어떤 브랜치에서 작업 중인지 확인하려면 아래 명령어를 사용하세요.
#bash
git branch
실행 결과에서 developer01 앞에 * 표시가 붙어 있고, 녹색으로 표시된다면 성공적으로 이동한 것입니다.
* developer01
main
2. 'developer01' 브랜치에서 작업하기
이제부터 developer01 브랜치에서 자유롭게 코드를 수정하고 커밋할 수 있습니다. 이 브랜치에서의 모든 변경 사항은 main 브랜치에 전혀 영향을 주지 않습니다.
- 새로운 '로그인 기능' 파일 생성
#bash # login.js 파일 생성 echo "function login() { console.log('Login feature in progress...'); }" > login.js
- 작업 내용 커밋하기 이제 새로운 파일을 Git의 관리 대상으로 추가하고, 버전으로 기록(커밋)합니다.
#bash # 변경된 모든 파일을 스테이징 git add . # 작업 내용을 설명하는 메시지와 함께 커밋 git commit -m "Feat: Add initial structure for login feature"
💡 'main' 브랜치와 분리되어 있는지 확인해볼까요?
- developer01 브랜치의 로그 확인: git log --oneline을 실행하면 방금 만든 "Feat: Add initial structure..." 커밋이 보입니다.
- main 브랜치로 이동: git checkout main
- main 브랜치의 로그 확인: 다시 git log --oneline을 실행해보세요. developer01 브랜치에서 만든 커밋은 보이지 않습니다! 파일 탐색기에서도 login.js 파일이 사라진 것을 확인할 수 있습니다.
이처럼 브랜치는 작업을 완벽하게 분리해줍니다. 다시 git checkout developer01 명령어로 작업 브랜치로 돌아오세요.
3. 원격 저장소(GitHub)에 브랜치 공유하기
로컬에서 만든 developer01 브랜치는 아직 내 컴퓨터에만 존재합니다. 다른 팀원과 코드를 공유하거나, Pull Request(PR)를 통해 코드 리뷰를 받으려면 이 브랜치를 원격 저장소(GitHub)에도 올려야 합니다.
#bash
# 로컬의 developer01 브랜치를 원격 저장소(origin)에 push합니다.
git push -u origin developer01
- -u (또는 --set-upstream) 옵션은 최초에 한 번만 사용합니다. 로컬의 developer01 브랜치와 원격의 developer01 브랜치를 '짝꿍'으로 연결해주는 역할을 합니다.
- 이제부터 이 브랜치에서 작업한 내용은 간단히 git push만 입력해도 원격 developer01 브랜치로 올라갑니다.
이제 GitHub 저장소 페이지에 가보면, main 브랜치 옆에 developer01 브랜치가 새로 생긴 것을 확인할 수 있습니다.
4. 작업 완료 후 'main' 브랜치에 통합하기 (Merge)
'로그인 기능' 개발이 모두 완료되었다고 가정합시다. 이제 이 결과물을 main 브랜치에 합쳐야 합니다.
- 통합의 기준이 될 main 브랜치로 이동합니다.
#bash git checkout main
- (매우 중요) main 브랜치를 최신 상태로 업데이트합니다. 다른 팀원이 그동안 main 브랜치에 새로운 코드를 반영했을 수 있습니다. 충돌을 방지하기 위해 항상 원격 저장소의 최신 코드를 먼저 받아옵니다.
#bash git pull origin main
- developer01 브랜치의 내용을 main으로 병합(Merge)합니다.이 명령어를 실행하면 developer01 브랜치에서 작업했던 모든 커밋 내역이 main 브랜치로 합쳐집니다. 이제 main 브랜치에도 login.js 파일이 존재하게 됩니다.
#bash git merge developer01
- 통합된 main 브랜치를 원격 저장소에 Push합니다.이제 다른 팀원들도 git pull origin main을 통해 '로그인 기능'이 추가된 최신 코드를 받아볼 수 있습니다.
#bash git push origin main
5. 브랜치 정리하기 (선택사항이지만 권장)
main 브랜치에 성공적으로 통합되었으므로, developer01 브랜치는 이제 제 역할을 다 했습니다. 저장소를 깔끔하게 유지하기 위해 사용이 끝난 브랜치는 삭제하는 것이 좋습니다. 프로젝트가 종료되지 않았고 계속해서 개발자가 developer01 브랜치를 사용하는 경우라면 굳이 삭제할 이유는 없ㅅ브니다.
로컬 브랜치 삭제
#bash
git branch -d developer01
- -d 옵션은 병합이 완료된 브랜치만 안전하게 삭제합니다. 만약 아직 병합하지 않은 내용이 남아있다면 삭제되지 않습니다.
- 강제로 삭제하려면 -D 옵션을 사용합니다.
원격(GitHub) 브랜치 삭제
#bash
git push origin --delete developer01
이제 로컬과 원격 저장소 모두에서 developer01 브랜치가 깔끔하게 정리되었습니다.
마무리 . 'developer01' 브랜치의 생명주기
- git checkout -b developer01: 나만의 작업 공간 생성
- (코드 수정) > git add . > git commit -m "...": 작업 내용 기록
- git push -u origin developer01: 작업 내용을 팀과 공유
- (모든 기능 개발 완료)
- git checkout main: 메인 브랜치로 복귀
- git pull origin main: 메인 브랜치 최신화
- git merge developer01: 내 작업물을 메인에 통합
- git push origin main: 통합된 최종본을 팀과 공유
- git branch -d developer01 & git push origin --delete developer01: 역할이 끝난 브랜치 정리
이 워크플로우를 통해 developer01, developer02, feature/payment 등 여러 브랜치에서 동시에 안전하게 작업을 진행할 수 있습니다. 이것이 바로 Git 브랜치 전략의 핵심입니다!
'AI 코딩' 카테고리의 다른 글
[AI코딩.07] 로컬 AI 모델 - Ollama와 Code Llama 활용법 (7) | 2025.07.16 |
---|---|
[AI코딩.06] Windsurf와 Bolt.new - 웹 개발 특화 도구들 (3) | 2025.07.15 |
[AI코딩.05] Cursor - AI 네이티브 코드 에디터 (7) | 2025.07.11 |
[AI코딩.04.01] GitHub Copilot - VSCODE 에서 MCP 연결 (8) | 2025.07.09 |
[AI코딩.04] GitHub Copilot - VS Code 통합 개발 환경 (5) | 2025.07.08 |