[Git] 나를 위한 git-rebase 정리📒

🙋🏻‍♀️·2022년 6월 14일
0

git

목록 보기
1/4

git..니가 뭔데..나를...힘들게 하는데...

정말 알면 알수록 신기한 git의 세계~! 이번엔 git-rebase이올시다~!




📌Git 브랜치 - Rebase 하기

git에서 한 브랜치에서 다른 브랜치로 합치는 방법은 두 가지가 있다. 하나는 Merge이고 다른 하나는 Rebase다. (그동안 내가 해왔던 방식은 Merge)

git 공식홈페이지를 토대로 차근차근 이해해보자


▪️ 두 개의 나누어진 브랜치의 모습



▪️ 두 개의 브랜치로 나누어진 커밋 히스토리. 이 두 브랜치를 합치는 가장 쉬운 방법은 앞에서 살펴본 대로 Merge 명령을 사용하는 것이다. 두 브랜치의 마지막 커밋 두개(C3,C4)와 공통 조상(C2)을 사용하는 3-way-Merge로 새로운 커밋을 만들어 낸다.




✔️만약에 feature/kimhyesu 라는 branch를 만들어서 작업하고 master에서 merge를 사용해서 합친다고 하면, feature/kimhyesu에서 기록한 모든 commit이 master의 commit으로 기록이 남는다.



✔️rebase방식을 사용해서 합친다면 내가 작업하면서 남겼던 여러가지 commit 중 필요한 commit만 남겨서 master에 합치기 때문에 master의 commit은 항상 깔끔하게 관리된다는 장점이 있다.




👀git-rebase 한 눈에 쉽게 알아보기


1. git add .
2. git commit -m “commit 메세지”
3. git checkout main
4. git pull origin main
5. git checkout (branch)
6. git rebase -i main
- i (수정)
- 첫번째만 pick, 나머지는 s
- esc
- :wq
- i
- 커밋 지우고 하나만 남기기
- esc
- :wq
- git push origin (branch)

git push origin (branch) -f 하면 이전꺼 밀어버리는 효과. 



📌rebase 중 conflict 해결하기

  • 충돌이 일어났을 경우 충돌이 일어난 코드를 수정하고 git add .
  • git commit은 수정사항이 없으므로 진행하지 않음
  • git rebase --continue
  • 중단된 rebase 진행
  • 충돌이 여러번 나면 그 때마다 충돌을 해결하고 git add . git rebase --continue 반복한다.
  • 해결이 되지 않는다면 git rebase --abort로 rebase 진행 전 상황으로 돌아간다.

0개의 댓글