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 | 31 |
Tags
- 자료구조
- Sequelize
- 정렬
- dfs
- react
- MongoDB
- GIT
- Python
- AWS
- Queue
- flask
- MySQL
- Dinosaur
- nestjs
- jest
- nodejs
- cookie
- Express
- mongoose
- TypeScript
- 공룡게임
- OCR
- 게임
- typeORM
- Nest.js
- class
- Bull
- JavaScript
- game
Archives
- Today
- Total
포시코딩
Eclipse Git(4) - Rebase 본문
728x90
개요
브랜치를 나눠 작업하는 도중 master 브랜치에서 추가로 진행된 내용을 가져와야 할 때가 있다.
merge를 하는 방법도 있지만 진행 사항에 대해서만 합칠 뿐 브랜치를 합치고 싶지 않은 경우
rebase 기능을 사용할 수 있다.
* merge시에는 commit 이력이 남지만 rebase는 변경 이력도 남지 않아 commit history가 깔끔해진다는 장점이 있다.
예제
- master 브랜치에서 나온 slave 브랜치 존재
- 같은 파일에 대해 내용은 따로 개발이 진행되었다는 가정
- slave 브랜치에서는 master 브랜치에서 진행된 내용을 가져와 그 위에 계속 작업을 진행해야 한다.
- head가 slave인 상태를 확인한 후 rebase를 선택한다.
- master 브랜치 선택 후 rebase (local, remote는 상황에 맞게 선택한다.)
- 예제에서는 local에만 commit된 상태이기 때문에 local master를 선택했다.
- 같은 파일에 대해 내용이 다르기 때문에 conflict가 발생했다.
- 위의 'Start Merge Tool to resolve conflicts'를 선택하여 Merge Tool을 통해 수정하거나
충돌이 일어난 파일을 직접 찾아 수동으로 충돌을 해결한다.
- 해결 후 Git Staging 탭에서 Rebase란에 Continue 클릭
- 위와 같이 staging할 파일이 없으면 skip commit을 누르면 된다.
- Continue를 통해 rebase를 완료할 수 있다.
- 성공적으로 rebase가 완료됐다는 알림이 뜬다.
- slave 브랜치에 master 브랜치 commit이 들어온 것을 확인할 수 있다.
* 23년 1월 19일 기준으로 다크모드 시 가독성 떨어지는 문제 해결
* 19년도 기준으로 작성된걸 정리한 내용이라 현재 버전과 보이는게 다를 수 있습니다.
728x90
'Git' 카테고리의 다른 글
Eclipse Git(6) - Stash (0) | 2022.06.26 |
---|---|
Eclipse Git(5) - Cherry-Pick (0) | 2022.06.26 |
Eclipse Git(3) - Merge (0) | 2022.06.26 |
Eclipse Git(2) - Reset, Revert (Git을 되돌리는 방법) (0) | 2022.06.26 |
Eclipse Git(1) – Commit, Push, Clone (0) | 2022.06.23 |