여태까지
master와branch사이에update된 사항이 있으면 변경 사항을 맞춰주기 위해 각각의branch로 이동해서master의 내용을merge해줬는데,merge가 아닌rebase라는 기존과 다른 방식을 사용해서도 같은 기능을 수행할 수 있다.
rebase를 처음 사용하면서 혼돈의 시간을 보냈고, 실제로GitHub에 있는master에서 파일이 삭제되는 불상사가 발생하기도 했다... 그래도 감당할 수 있는 수준의 작업이여서, 이런 일을 차라리 미리 경험해봐서 다행이기도 했다.

위 그림을 보면 merge는 Feature의 내용이 계속 유지가 되면서 Master의 내용 중 변경된 것이 Feature에 update되고, rebase는 기존의 Feature가 update되는 것이 아니라 변경된 Master를 기준으로, 새로운 Feature브랜치를 만든다. 말 그대로 branch가 base로 하고 있는 master를 다시 설정한 것이다. base를 바꾸게 되면 당연히 변경된 master의 내용은 알아서 반영이 된다.
그래서
rebase가merge보다 좋은점이 뭐가 있을까?🤔
merge를 사용하면base가 되는master가 여러 곳이기 때문에, 나중에history를 볼 때 찾아가기가 힘들 수도 있다. 하지만,rebase를 사용하면base가 되는master가 한 곳이기 때문에history를 깔끔하게 정리할 수 있다.

commit과 history를 모두 기록하기 때문에, 나중에 commit이 굉장히 많이 쌓이게 된다.commit내역을 하나로 합쳐주기 때문에, commit내역이 복잡해지지 않는다.git commit -mgit checkout mastergit pull origin mastergit checkout branchNamegit rebase -i master -> commit message하나로 통합git push origin feature/branchNamegit rebase --continue: master와 conflict 발생시 해결git rebase --abort: git rebase중지