Git Rebase & Git Merge

김익현·2022년 8월 5일
0

wecode

목록 보기
26/35
post-thumbnail

Git Merge

Git Merge 란?

두 개 이상의 개발 히스토리를 하나로 합치는 작업.

Rebase와 다르게 히스토리가 모두 보존된다는 특징이 있음.

사용 이유

  • 시간순 으로 정렬되므로 작성한 사람의 진행 방식을 볼 수 있음.
  • 만약 리셋을 해야하는 상황이 발생하면 원하는 구간으로 리셋할수 있음.

    단점

  • 사람이 많아질 수록 커밋이 많아지면서 레포지토리에서 문제가 생길 가능성이 높음.
  • 커밋이 계속 늘어나면서 커밋로그가 지저분해짐.

Git Rebase

Git Rebase 란?

말 그대로 base를 재설정한다, 여기서 basebranch를 뜻함.

브랜치의 베이스를 재설정하여 커밋을 다시 작성하는 작업.

사용 이유

  • 많은 사람들과 협업을 할 때 커밋을 정리하므로 커밋 로그가 깔끔해짐.
  • 커밋을 작성한 사람이 정확히 무슨 작업을 했는지 보기가 편함.

    단점

  • 입력해야할 명령어가 많음…

    사용 방법

  1. 작업이력을 일단 commit하여 작업 이력을 기록한다.
  2. 정리가 필요한 시점에 git rebase -i main 명령어를 입력한다.
  3. 그러면 커밋 이력이 나오는데 거기서 필요한부분은 pick 필요없는 부분은 s(squash)로 바꿔준다.
    - 수정방법 : i를 눌러 입력모드로 바꿔준후, 위로 올라가 수정한후 esc를 눌러 입력모드에서 나온뒤,
    :wq를 입력하여 저장 후 밖으로 나올 수 있다.
  4. 다른 화면이 나오면 제일 상단내용 빼고 나머지를 지워준뒤 상단 내용에 내가 작업한 이력들을 한번에 적어준다.
  5. 그러면 수정은 되었지만 깃허브 페이지에는 수정이 안되었다… 이때 git push origin 브랜치명 -f를 입력하여 강제로 넣어줘야 다시 정상적으로 작동한다!
profile
놀땐 화끈하게 놀고, 할땐 부끄럽지않게 확실하게 하자!!

0개의 댓글