Git에는 뭔가 비슷하면서도 다른 커맨드들이 있습니다.
대표적으로 아래와 같은 2가지가 있는데요. 본인이 정확한 차이를 잘 알고 있는지 한 번 확인해보세요!
(1) git fetch vs. git pull
- git fetch는 리모트 레포지토리의 특정 브랜치의 내용을 가져오는 작업
- git pull은 리모트 레포지토리의 특정 브랜치의 내용을 가져와서 현재 HEAD가 가리키는 브랜치에 머지까지 하는 작업을 합니다. 그래서 이런 공식이 성립합니다.
git pull = git fetch + git merge
(2) git merge vs git rebase
- git merge는 현재 브랜치가 가리키는 커밋과 다른 브랜치가 가리키는 커밋을 합치는 작업입니다.
- git rebase는 현재 브랜치가 가리키는 커밋을 다른 브랜치가 가리키는 커밋 뒤에 그대로 잇는 작업입니다.
어떤 커맨드를 쓰든 그 결과물은 같습니다. 하지만 만들어지는 커밋 히스토리가 다른데요.
각 커맨드가 구체적으로 어떤 점이 다른 지는 코드잇에서 확인해보세요!
코드잇 멤버십 유저가 아니라면, 여기서 확인하세요 :)
코드잇 멤버십 유저라면, 여기서 자세히 확인하세요 :)
코드잇 Git 토픽 > 'Git 실전 I' 챕터 > 'git pull 말고 git fetch도 있어요' 영상
코드잇 Git 토픽 > 'Git 실전 Ⅱ' 챕터 > '깔끔한 커밋 히스토리를 원할 땐 git merge 대신 git rebase!' 영상