Git Rebase

태현·2021년 4월 27일
0
post-thumbnail

들어가기 전에

git의 rebase는 여러 곳에서 다양하게 쓰이는 유용한 명령어입니다.

우리가 프로젝트를 진행하면서 master branch에서 최신화 받아온 branch를 합치는 명령어는 merge 였지만 일반적으로 두 가지 방법을 사용합니다.

  1. Merge
  2. Rebase

Git rebase를 쓰는 이유?

(rebase: 같은 작업을 하는 commit 끼리 모으기)

  1. 깔끔하게 작성하려고(장점)
  2. 뭉떵거리로 rebase하고나서 conflict 해결하는 과정에서 피곤할 수도(그래서 2~3개 씩)

Git rebase 사용

  • 각각의 branch에서 작업을 하다가 2~3개 정도의 commit이 생기면 rebase로 합칩니다.
  • branch 하나당 commit 한 개로 관리합니다.

순서

git add .

git commit -m "메세지"

git checkout master 👉 git pull origin master (최신화 작업)

git checkout branch명 👉 git rebase -i master

⓹ 가장 오래된 commit을 pick 하고 나머지는 squash 합니다.


⓹번의 상세설명
commit을 할 때랑 똑같이 에디터 창이 뜬다. 그리고, 각각의 commit 내역 앞에 pick 이라는 키워드가 적혀져 있는 것을 확인 할 수 있는데 최상단 commit 내역은 빼고 나머지 commit들만 picks 로 바꿔줍니다.(s === "squash")

✅여기서 중요한 것👏🏻

만약에, conflict가 났을 경우에, 충돌 해결한 다음 git add . 👉 git rebase --continue 를 합니다.

git commit -m 가 아닙니다.❌

  • git rebase --continue : 리베이스 진행
  • git rebase --about : 리베이스 중단

⓺ 저장하고 나갑니다. (또는 명령어 :wq 를 사용합니다

⓻ 이제, 커밋 메세지를 수정하는 에디터 창이 뜹니다.

⓼ 수정하고 저장하고 나옵니다.

git push origin branch명 --force 작성 합니다.

(한 번 rebase 적용한 다음 push 한 경우 그 다음부터는 --force 가 적용됩니다.)

profile
안녕하세요, 지식을 공유하는 공간입니다.

0개의 댓글