[Git] rebase

jiaLEE·2022년 7월 23일
0

여러사람들과 하나의 프로젝트로 작업을 하다보면,
내가 코드를 수정하는 동안 계속해서 코드가 다른사람들로 인해 수정이 된다.
이럴때 rebase를 통해 수정된 코드를 가져오고 내 커밋을 가장 최신의 커밋으로 당긴다.

  • merge: merge는 내 수정된 코드를 main 브랜치에 병합하는 것이다.

여러개의 커밋 -> 하나로 병합하기

develop update를 통해 가장 최신의 develop 브랜치를 가져온 후

git pull 
git rebase develop // 을 통해서 내 커밋들을 제일 최신의 것으로 빼고
git rebase -i HEAD~3 //내 커밋들 3개를 하나로 합친다.

: rebase를 하면 내 커밋이 가장 최신의 것으로 오게 되고
: -i HEAD^^^ i옵션을 통해 내 여러개의 커밋을 하나로 병합한다.

이때 내 커밋수에 따라 숫자/^ 의 수가 변경된다.
ex) 커밋 5개를 합친다 : -i HEAD~5 혹은 -i HEAD^^^^^

위와 같이 병합을 하게 되면 커밋들의 목록이 뜨게 되는데 이때
pick -> s 로 바꾸고 :wq
커밋메세지를 하나로 묶은후에 :wq하면 커밋이 하나로 병합된다.

  • git rebase -i : 커밋고유의 번호를 넣어서 그 때의 커밋으로 돌아갈수도 있음
  • rebase onto -- : 파생된 브랜치 자체를 가지고 와서 붙인다.

출처: 제대로 파는 Git& GitHub - by 얄코

0개의 댓글