Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- CSS
- 꿀단집
- 개발자취업
- MySQL
- 방송대컴퓨터과학과
- 코딩테스트준비
- TiL
- aws
- 항해99
- nestjs
- 99클럽
- Git
- 중간이들
- node.js
- 엘리스sw트랙
- 코드잇
- SQL
- 파이썬
- 데이터베이스시스템
- JavaScript
- 파이썬프로그래밍기초
- HTML
- redis
- 코딩테스트
- 방송대
- presignedurl
- Python
- Cookie
- 유노코딩
- 프로그래머스
Archives
- Today
- Total
배꼽파지 않도록 잘 개발해요
[Git] 현재 작업 중인 브랜치에 dev 브랜치의 최신 내용을 반영하는 방법 - merge와 rebase 본문
BackEnd/AWS / Docker / Git
[Git] 현재 작업 중인 브랜치에 dev 브랜치의 최신 내용을 반영하는 방법 - merge와 rebase
꼽파 2024. 9. 3. 16:56상황 설명
우리 팀의 브랜치
- dev : 우리 팀의 default 브랜치, 모든 작업은 여기다 합침
- feature/user : 내가 작업하려고 새로 만든 브랜치
- feature/post : 다른 분이 작업하신 브랜치
상황
- 내가 feature/user을 새로 만들어서 작업하고 커밋을 했음.
- 그런데 feature/post 작업 결과가 dev에 반영이 안 된 상태임.
- 그래서 dev 브랜치에 feature/post를 merge를 하였음.
- 나는 dev브랜치의 최신 내용을 현재 있는 브랜치(feature/user)에 반드시 가져와야만 함.
이럴 때는 어떻게 해야할까?
1. Merge를 한다.
현재 브랜치에 dev브랜치의 변경사항을 합친다.
# 현재 브랜치에서 작업하고 있는지 확인
git status
# 현재 브랜치가 맞는지 확인
git branch
# 현재 브랜치에서 최신 dev 브랜치를 병합
git fetch origin
git merge origin/dev
git status를 입력한다.
이전에 커밋한 이후 더 커밋한 것이 없어서 clean하다고 뜬다.
git branch로 현재 어느 브랜치에 있는지 확인한다.
feature/user 브랜치에 있다.
git fetch origin으로 최신 변경 사항을 가져온다.
그리고 git merge origin/dev로 원격 저장소에 있는 dev의 최신 사항을 합친다.
이렇게 되면 현재 작업한 내용과 더불어 dev브랜치의 최신 변경사항도 다 합쳐진다.
물론 충돌나면 수작업으로 해결해야한다.
2. Rebase를 한다.
rebase를 하면 커밋 히스토리의 구조가 변경되어 선형으로 이어지게 된다.
merge는 두 브랜치를 합친 후 복잡한 히스토리를 그대로 유지한다.
결과는 둘 다 같다.
# 현재 브랜치에서 작업하고 있는지 확인
git status
# 현재 브랜치가 맞는지 확인
git branch
# 현재 브랜치에서 최신 dev 브랜치를 기반으로 리베이스
git fetch origin
git rebase origin/dev
728x90
'BackEnd > AWS / Docker / Git' 카테고리의 다른 글
[Git] git push rejected non-fast-forward 오류의 원인과 해결방법 (0) | 2024.08.23 |
---|---|
[Docker] 윈도우에서 도커 설치 후 로그인이 되지 않을 때 해결방법 (0) | 2024.08.23 |