GitNotes.23-5.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 23.5: 선형적인 (linear) history 를 유지하면서 pull 하기

pull 시에 rebase 수행하기

현재 사용자 브랜치에 로컬 커밋들이 있는 상태에서 원격 저장소에서 새로운 커밋들을 pull 하는 경우, git 은 자동으로 원격 버전과 사용자의 로컬 버전을 merge 시킬 것이다. 만약 해당 브랜치의 merge 커밋의 수를 줄이고 싶다면, git 으로 하여금 사용자의 커밋들을 원격 저장소의 대상 브랜치 위로 rebase 작업을 수행하도록 지시할 수 있다.

git pull --rebase

기본 동작으로 설정하기

위에서 설명한 동작을 새롭게 생성되는 브랜치들에 대해서 기본으로 설정하려면, 아래와 같은 명령어를 입력한다:

git config branch.autosetuprebase always

기존 브랜치의 동작을 변경하려면, 아래와 같은 방법을 이용한다:

git config branch.BRANCH_NAME.rebase true

그리고

git pull --no-rebase

를 수행하여 통상적인 merge pull 을 수행할 수 있다.

fast-forward 가능 여부 확인하기

로컬 브랜치로 하여금 fast forward 로만 동작하게 하려면, 아래와 같이 실행한다:

git pull --ff-only

이와 같이 실행 시, pull 하려는 로컬 브랜치가 fast-forward 가능하지 않아 upstream 브랜치와의 rebase 나 merge 가 필요한 경우 에러를 출력할 것이다.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형

+ Recent posts