Post

깃허브 Pull Request를 로컬에 가져와 보자

깃허브 Pull Request를 로컬에 가져와 보자

📌 개요

PR 리뷰를 진행할 때 해당 PR의 코드만 보고 개선할 점을 찾기에는 어려움이 있으므로, 직접 돌려보는 편이다. 여러 개발자들이 직접 프로젝트 레포지토리에서 개발한다면 해당 브랜치로 checkout하면 되지만, 로컬에 fork하여 개발을 진행하는 경우 상황은 조금 복잡해진다. 다른 개발자가 fork한 레포지토리에 remote하여 pull하는 것은 뭔가 거추장스럽다.

📌 PR Ref

깃허브는 내부적으로 PR 참조를 관리하고 있다.

1
2
3
4
# git fetch <원격_저장소_이름> pull/<PR_번호>/head:<새로_만들_로컬_브랜치_이름>
git fetch upstream pull/150/head:pr-150

git checkout pr-150

pull/<PR_번호>/head 가 가져올 PR의 참조이다. pull/150/head 는 깃허브에서 #150 PR을 가리키는 경로이며, head 는 해당 PR의 최신 커밋을 의미한다.

fetch 대신 pull 을 사용하지 않도록 주의한다. git pullgit fetchgit merge 의 조합이다. pull 을 사용하게 되면 PR 코드를 로컬에서 가져온 후 현재 로컬에서 작업 중인 브랜치에 merge 를 시도한다.

This post is licensed under CC BY 4.0 by the author.