깃 충돌

Git

Git rebase

브랜치를 합치는 방법은 두 가지가 있다. 병합(merge)과 리베이스(rebase)다. 이번에는 커밋 순서를 재배열하는 리베이스에 대해 알아보겠다. Base 브랜치는 커밋 하나를 기준으로 새로운 작업을 진행할 수 있는 분리된 작업 경로를 말한다. 새로운 브랜치가 파생되는 커밋을 베이스라고 한다. 병합에서는 이를 공통 조상 커밋이라고 한다. 아래 그림에서는 커밋 2가 베이스이자, 공통 조상 커밋이다. Rebase 리베이스는 베이스 앞에 '다시'를 의미하는 re가 붙은 단어다. 파생된 브랜치의 기준이 되는 베이스 커밋을 변경하는 것이다. 그럼 브랜치의 베이스는 왜 변경하는 것일까? 커밋의 진행 모습을 단순화하기 위해서다. 브랜치가 많아지면 커밋을 관리하고 파악하기 어렵다. 꼬여 있는 기찻길처럼 단계별로 커밋..

Git

Git Stash

Git Stash 개념 어떤 작업 내용을 개발자가 커밋했다. 이후 다른 업무로 인해 코드를 작성하다가 다른 브랜치로 이동하고 싶어졌다. 바로 git checkout과 switch를 쓰면 다른 브랜치로 이동할 수 있을까? 아쉽게도 그렇지 않다. 커밋하지 않은 코드가 남아있으므로 다른 브랜치로 이동이 불가능하다. 그럼 어떻게 코드를 작성하다가 다른 브랜치로 편하게 넘어갈 수 있을까? 이런 상황에서 스태시(stash)기능을 사용한다. stash를 번역기에 돌려보니 은닉처라고 나온다. 깃은 커밋되지 않은 변경 내용이 남아 있을 때, 현재 작업을 임시로 저장할 수 있는 스태시 기능을 제공한다. 스태시는 현재 워킹 디렉터리 내역을 별도의 스택 영역에 저장해 브랜치가 이동할 때 작업 중인 내용으로 워킹 디렉터리가 충..

Debin
'깃 충돌' 태그의 글 목록