[TIL] Git Rebase & Squash

Yerin·2020년 1월 12일
0

Git rebase

  • feature branch의 위치를 조성해주는것.
    머지랑 기능은 똑같은데 , 머지커밋은 서로 다른 두 브랜치가 합쳐질때 생기는데 히스토리를 보기가 복잡해진다는 단점이 있다.

  • 최신 베이스로 브랜치를 옮기는 것 -> fast foward
    commit수 대로 conflict생기므로 충돌 해결이 어렵지만 복구 가능하다.

  • 모든 작업은 다 로컬에서 !!!
    로컬과 서버의 차이...

(참고할만한 사이트)
ref: https://www.freecodecamp.org/news/an-introduction-to-git-merge-and-rebase-what-they-are-and-how-to-use-them-131b863785f/

ref: https://benmarshall.me/git-rebase/

Git Rebase 실습

Commands

git clone 깃허브주소
cd 레퍼지토리
깃 브랜치 만들기
깃 브랜치 체크아웃
tig
vi READ.ME 들어가서 수정
git add .
git commit -m "first commit"
(3번 반복)
tig
git checkout master
git pull origin master
git rebase -i master feature/rebasee
tig

충돌 일어날 시, 파일 들어가서 불필요한 요소 제거 후 다시 깃 애드, 깃 커밋.

How to resolve rebase conflicts

https://clubmate.fi/git-rebasing-workflow-and-resolving-merge-conflicts/

Git squash

여러개의 커밋을 하나의 커밋으로 합치는 것.
히스토리 및 수정내역들을 보기가 쉬워진다.
wip :work in progress

(참고할만한 사이트)
ref:https://github.blog/2016-04-01-squash-your-commits/
ref:https://stackoverflow.com/questions/35703556/what-does-it-mean-to-squash-commits-in-git

How to squash commits

https://github.com/wprig/wprig/wiki/How-to-squash-commits

profile
졸꾸 !!!

0개의 댓글