브랜치 만들어보고 병합하는 걸 사용 안해봤다면...? 해보면 되지.....
🧠 브랜치(Branch)란?
- 브랜치는 코드를 따로 실험하거나 개발하기 위한 독립된 작업 공간
- 원래 코드(main/master)를 망치지 않고 새로운 기능이나 수정을 안전하게 따로 개발할 수 있어서 나중에 개발이 끝나면 원래 코드랑 합치면 됨 (merge)
🧠 브랜치를 사용하는 이유
- 코드를 안전하게 보호하기 위해서
- 직접 master(배포용)에다 바로 코드를 수정하면 실수하면 바로 서버나 배포 시스템이 망가질 수 있음.
- 여러 기능을 동시에 개발하기 위해
- 로그인 기능 개발하는 사람, 게시글 작성 기능 만드는 사람, 채팅 기능 만드는 사람 모두가 각각 자기 브랜치에서 작업할 수 있어 기능마다 독립적으로 개발 가능!
- 협업할 때 충돌을 줄이기 위해
- 모든 사람이 같은 코드(main)에서 작업하면 서로 수정한 게 겹쳐서 충돌(conflict)이 계속 발생해 브랜치를 나누면, 충돌은 나중에 병합할 때만 관리하면 돼서 훨씬 깔끔함
- 개발 흐름을 깔끔하게 관리하기 위해
- 버그 수정은 hotfix/버그명, 기능 추가는 feature/기능명, 출시 준비는 release/버전명 -> 브랜치 이름만 봐도 무슨 작업인지 바로 알 수 있어서 가독성 + 관리성 좋아짐
- 언제든지 롤백(되돌리기) 쉽게 하려고
- 브랜치 작업하다가 잘못됐다 싶으면 그냥 그 브랜치만 버리면 끝. 메인 코드는 깨끗하게 유지 가능
1단계 : master브랜치로 이동 + 최신화
git checkout master
- checkout : "다른 브랜치로 이동"하는 명령어.
- 즉, master 브랜치(배포 기준 브랜치)로 이동하는 것
git pull origin master
- pull : GitHub(원격 저장소)에서 최신 코드를 가져오는 명령어
- origin : 기본 연결된 GitHub 서버 이름.
- master : 가져올 브랜치 이름.
- 즉, "GitHub에 있는 최신 master 코드로 맞춘다" 는 뜻.
[실제 화면]
현재 생성된 브런치가 뭐뭐 있는지 확인하려면?
git branch
브랜치 만들어 놓은게 없을 때, master만 있음
브랜치 만든게 있을 때 브랜치 리스트가 뜸.
✅ 브랜치 만들기 전에 꼭! 최신 코드 받아오기
- 협업 중이든 혼자 하든, 다른 데서 master에 뭔가 반영됐을 수 있음
- 그걸 모르고 브랜치 파면 옛날 기준으로 작업하게 되는 위험이 있음. 그래서 브랜치 만들기 전에 pull 해서 최신 상태로 만들어주는 게 좋다.
[인텔리제이에서 한다면]
인텔리제이 상단에 master를 클릭해서 [Update Project]를 클릭하여 최신 소스 반영
상단에 master라고 되어있으면 이미 master 브랜치에 위치하고 있다는 것.
2단계 : 새로운 브랜치 만들고 이동하기
git checkout -b feature/git-practice
- checkout -b : "브랜치를 새로 만들면서 이동"하는 명령어.
- feature/git-practice : 새로 만들 브랜치 이름
- 👉 브랜치 이름은 "feature/기능명" 형태로 많이 짓는다. (Git Flow 규칙)
[인텔리제이에서 한다면]
역시나 상단의 master에서 [New Branch] 클릭
브랜치 명 입력, Checkout branch 체크 해두면 만들고 만든 브랜치로 이동!
이동이 되었다면 상단에 master였던게 새로 생성한 브랜치 명으로 변경되어있음.
3단계 : 파일 수정하기
*** 실습할 거니까 reame.md 파일 수정하여 실습 해봄.
명령어로 입력하거나, 그냥 화면에서 수정해도 됨.
명령어로 수정
echo "🎯 브랜치 실습 두 번째 시도입니다." >> readme.md
화면에서 소스코드 수정
✅ 브랜치에서는 하나의 기능만 작업하기
- feature/user-login 브랜치면 로그인 기능만!
- 회원가입이나 게시글 추가 같은 걸 같이 작업하면 ❌
- merge, 리뷰, 롤백 등이 어려워짐
- 작은 단위로 작업하는 게 Git을 잘 쓰는 핵심
✅ 중간에 master로 옮기고 싶을 땐 꼭 커밋하거나 stash 하고 가기
git stash git checkout master
- 브랜치 작업 중에 아직 저장(커밋) 안 된 파일이 있으면 다른 브랜치로 이동 ❌
- 그럴 땐 stash로 잠깐 보관하고 이동하거나 커밋하고 이동해야 함
4단계 : 변경사항 Git에 추가(add)하기
git add readme.md
- add : "Git이 이 파일을 추적하게 한다"는 뜻
- 커밋할 준비를 하는 과정.
- readme.md 파일의 변경사항을 커밋 대상으로 지정하는 것.
- 실제로 화면에서도 뭐 결과값 암것도 안뜸.
5단계 : 변경사항 저장(commit)하기
git commit -m "두 번째 브랜치 실습"
- commit은 변경사항을 Git에 저장하는 것.
- -m : "메시지"는 커밋할 때 설명을 붙이는 옵션
[실제화면]
- 1 file changed, 2 insertions(+) : 수정된 파일 개수 = 1개 (ex. readme.md), 새로 추가된 줄(insert) 개수 = 2줄
✅ 커밋 메시지는 명확하게 작성하기
git commit -m "feat: 로그인 API 구현"
📘 실무에서 자주 쓰는 커밋 prefix 예시:
prefix | 의미 |
feat | 새로운 기능 |
fix | 버그 수정 |
docs | 문서 수정 (README 등) |
chore | 기타 설정/잡다한 작업 |
refactor | 리팩토링 |
test | 테스트 코드 추가/수정 |
[인텔리제이에서 한다면]
좌측 Commit 탭을 클릭하면 이미 스테이징에 수정한 파일이 올라와있고(add)
이미지엔 안보이지만 커밋 메시지를 쓰고 하단에 커밋을 눌러줌.
6단계 : master 브랜치로 돌아가기
git checkout master
- 다시 master 브랜치(배포용 기준 브랜치)로 이동.
- 병합(merge)은 "합쳐질 쪽" 으로 먼저 이동해야 함.
[인텔리제이에서 한다면]
master를 클릭하여 [Check out]클릭하면 브랜치 이동
7단계 : master 브랜치에 병합(merge)하기
git merge feature/git-practice
- 현재(master) 브랜치에 feature/git-practice-2 브랜치의 작업 내용을 합친다.
- "내가 만든 기능을 master에 반영하는 것" 이라고 이해.
[인텔리제이에서 한다면]
합치려는 브랜치를 클릭해서 [Merge ~~~]를 클릭하면 합쳐짐!
8단계 : GitHub에 master 브랜치 업로드(push)
git push origin master
- push : 로컬(local) 브랜치의 커밋 내역을 GitHub(원격 저장소)로 업로드하는 명령어
- origin : 기본 서버 이름.
- master : 업로드할 브랜치 이름.
✅ push 전엔 항상 git status로 확인 습관!
git status
- 어떤 파일이 add 됐는지, 커밋 안 한 게 있는지 확인 가능
- 실수로 이상한 파일까지 올리지 않도록 방지
[인텔리제이에서 한다면]

그리고나서 Push로 반영해준다.
(추가)병합이 끝난 후에는 브랜치 삭제 해도 됨
git branch -d feature/git-practice
- -d는 안전하게(merge된 경우만) 삭제하는 옵션
[전체 플로우]
git checkout master # master로 이동
git pull origin master # master 최신화
git checkout -b feature/git-practice-2 # 새 브랜치 생성 + 이동
(파일 수정) # 예: readme.md 수정
git add readme.md # 변경사항 Git에 등록
git commit -m "docs: 두 번째 브랜치 실습 문구 추가" # 변경사항 저장
git checkout master # 다시 master로 이동
git merge feature/git-practice-2 # feature 브랜치 내용을 master에 합치기
git push origin master # GitHub에 master 업로드
여기까지 했다면 브랜치를 만들고 합치는 방법 터득 완.
담엔 PR(Pull Request)을 실습해보자.
https://ddururiiiiiii.tistory.com/626
[Git/Github] 혼자서 북 치고 장구치는 PR(Pull Request) 연습하기
헉..PR을 안해봤다고요...? 해보면 되져.... PR(Pull Request)이란?“이 브랜치에서 작업한 내용을 메인 브랜치에 합쳐주세요~!” 라고 요청하는 것 ❓ PR은 누구한테 보내는 건가요?기본적으로는 “프
ddururiiiiiii.tistory.com
'💻 하나씩 차곡차곡 > Back-end' 카테고리의 다른 글
[Git/Github] 혼자서 북 치고 장구치는 Git Flow 연습하기 (0) | 2025.04.28 |
---|---|
[Git/Github] 혼자서 북 치고 장구치는 PR(Pull Request) 연습하기 (0) | 2025.04.28 |
도커(Docker) (정의, 사용하는 이유, 설치법) (0) | 2025.04.22 |
[스프링 시큐리티] 비밀번호 암호화 하기 (BCryptPasswordEncoder) (0) | 2025.04.22 |
[스프링 시큐리티] 서버 기반 인증 VS 토큰 기반 인증 (Session, JWT 등) (0) | 2025.04.21 |