Alraffe
이것 저것 개발.
Alraffe
전체 방문자
오늘
어제
  • 분류 전체보기
    • TIL
    • Front-end
      • CSS
      • React
      • Next.js
    • Back-end
    • Book
      • Effective Typescript

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • JASON.parse()
  • 주니어 개발자 이력서
  • 타입스크립트 추천
  • 리액트
  • 타입스크립트 책
  • vite 깃헙 배포
  • JS
  • frontend
  • 이펙티브타입스크립트
  • 노션 이력서
  • JavaScript
  • 깃헙 배포 빈 화면
  • react
  • 타입스크립트
  • Til
  • JASON.stringify
  • 프론트엔드회고
  • 오랠리
  • 자바스크립트
  • 프론트엔드
  • 배포 에러
  • evnentBubbling
  • 개발자 커피챗
  • git
  • vite 배포 에러
  • next14
  • 프론트엔드 책 추천
  • object 값을 찍고 싶을 떄
  • 타입스크립트 책 추천
  • TypeScript

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Alraffe
TIL

Git rebase

TIL

Git rebase

2023. 10. 7. 11:54

git rebase vs git merge

git merge

예를 들어 main브랜치가 있고 feature브랜치가 있다고 가정하자. feature브랜치에 main브랜치를 merge를 하고 싶을 경우 우선  git checkout feature 명령어를 이용해 현재 브랜치를 바꿔주고 main브랜치(git merge main)를 머지한다. 이렇게 되면 기존의 마지막 feature브랜치 가지들도 살아있으면서 새feature브랜치와 main브랜치의 내용을 모두 담고 있는 새로운 커밋을 생성한다.

git rebase

 위와 똑같은 상황이라 가정하고 feature브랜치에 main브랜치를 머지한다 해보자. git checkout feature, git rebase main 명령어를 실행한다. 이 명령어를 실행할 경우 위의 명령어를 실행할 때와 다르게 feature브랜치의 커밋들이 마지막 메인 브랜치 앞에 이동하고, 브랜치 마지막에는 병합된 내용을 갖고 있는 새로운 브랜치가 생성된다. git merge와 달리 브랜치 가지가 하나로 깔끔하게 병합된다.

 이때 기존에 feature브랜치에 있던 커밋들은 임시저장소에 저장되고 main브랜치에 병합하게 된다. 이때 다른 두 브랜치가 병합될 때 충돌이 일어날 경우 불러오지 않고 임시저장소에 저장하고 있다가 충돌이 해결하고 git rebase --continue 명령어를 통해 임시저장소에 있던 커밋 내용과 병합을 재시도한다.

 

 

 

참조
지옥에서 온 Git

 

저작자표시 비영리 변경금지 (새창열림)

'TIL' 카테고리의 다른 글

[TIL] 이벤트 버블링?  (0) 2024.01.23
자바스크립트의 비동기 처리  (0) 2024.01.12
Git tag  (0) 2023.10.02
Git 원격저장소  (0) 2023.10.01
  • git rebase vs git merge
'TIL' 카테고리의 다른 글
  • [TIL] 이벤트 버블링?
  • 자바스크립트의 비동기 처리
  • Git tag
  • Git 원격저장소
Alraffe
Alraffe

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.