Git Rebase

darby·2021년 6월 22일
0

git

목록 보기
3/4

1.Rebase

  • Rebase는 말 그대로 (re-base)로 베이스를 재배치한다는 뜻입니다.
  • 예시를 들자면 우리는 git을 사용시 각각의 commit 할 상황이 많은데 이때 Rebase 사용하면 각각의 commit들이 하나의 commit으로 합쳐지는 것이다.

2.Merge 와 Rebase 차이점

Merge

  • 위에 사진을 보면 Git Merge와 Git Rebase 가 있는데
  • Git Merge 는 각각의 기능별 브랜치에서 수정사항이 있으면 commit > merge > main에서 다시 pull 받고 > 다시 진행
  • 이런 식으로 진행하다보면 commit이 많아진다.
    Rebase
  • 그 와 반대로 밑에 Rebase를 하면 각 기능별로 commit이 정리되어 있다.

3. 팀 프로젝트시 발생할 사항

  • 나중에 프로젝트 진행시 팀원이 많아 충돌나는데 하나하나씩 수정해야한다. 그래서 3~4번 때 Rebase 하는거 추천
  • 충돌시 일어나면 밑에 사진처럼 진행하면된다. 위에 글에 3~4번 때 Rebase 하라고 했는데 그 이유는 이러한 충돌시 수정내용을 바꿔야 하기 때문이다. 만약 수정내용이 12번 이라고 가정했을 때 헷갈릴수 있어서 3~4번이 적당하다고 생각한다.

4.Rebase 실습

  • 위에 사진을 참고하면 vi test.md 로 파일 하나를 생성하고 안에 내용을 3번 수정후 git addgt commit 으로 반복작업을 한 상태이다.

  • git log 명령어로 commit 한 흔적이 3번 있다고 명시되어 있다.

  • 위에 사진은 Rebase 를 할 때 commit 메세지 내용을 하나로 줄여주는 작업이다. 이 작업은 Squash 작업이라 불린다.
    • Squash : Rebase를 하면 각각의 commit들이 하나의 commit으로 합쳐지고, 그러면 각각의 메세지들은 합쳐지면 지져분 하니 다시 커밋내용을 쓸 수있게 해주는 기능이다. 대신의 커밋의 내용이 방대하니 자세하게 설명을 써야한다.

  • 위에 사진을 보면 pick d455db [Add]rebase 실습 test 가 명시 되어있는데 기존에 작업한 내역이 있어서 보여지는 거고 그 밑으로 방금 commit 생성 내용이 보여지는 사진이다.

-위에 사진과 같이 pick 부분을 s 로 바꾸면된다.

  • 그 후 ctrl+X 를 입력하면

  • 이런 사진이 뜨면 `y 를 입력 후 엔터

  • 그 후 이런 사진형태가 뜨는데 엔터를 누르면

  • 이런 형태로 나와있을 것이다. 그 후 다시 ctrl+x 를 입력해서 이 창에서 나온다.

  • git log 그 후 입력해서 commit 내용을 살펴보면 기존에 작업했던 파일 내용에 합쳐져 있는걸 볼 수있다.

  • 이제 push 과정 진행하면 Rebase 작업이 끝난다.

0개의 댓글