반드시 pull_request_template.md 이라는 이름으로 파일을 만들어야 한다.
/.github/PULL_REQUEST_TEMPLATE 디렉토리를 만들고 이 안에 템플릿을 만들면 된다. 이름은 자유롭게 작성 가능.
예를 들어 /.github/PULL_REQEUST_TEMPLATE/pr-template-henry.md
이런 식으로
단일 템플릿은 pr 생성시 자동으로 적용된다.
멀티 템플릿을 pr 생성 시 거의 자동으로 적용하려면
&template=생성한템플릿이름.md
를 붙여주면 된다.
예를 들어
이런 식으로 쿼리를 붙인 걸 링크로 연결해주면 된다.
origin repo를 local로 가져오고 개인 브랜치를 생성해준다
git clone origin repo
git switch -c 개인브랜치
(in main 브랜치) git switch -c 개인브랜치-week{n}
(in 개인 브랜치) 처음이라면 local repo에서 만든 브랜치/week 브랜치를 각각 origin에도 반영해야 하므로
git push origin 개인브랜치
git push origin 개인브랜치-week{n}
개인 week 브랜치에서 작업 후
(git add, git commit, git push origin 개인브랜치-week{n}
)
Pull Request (origin/개인브랜치-week{n}
⇒ origin/개인브랜치
)
멘토로부터 코드리뷰를 받고 개인 브랜치로 merged까지 됐다면
local repo의 개인 브랜치로 pull 당겨오고
새로운 개인-week{n+1} 브랜치 생성해서 같은 과정 반복
(in 개인-week{n} 브랜치) git switch 개인브랜치
(in 개인 브랜치) git pull origin 개인브랜치
(in 개인 브랜치) git switch -c 개인브랜치-week{n+1}
(in 개인-week 브랜치) git push origin 개인브랜치-week{n+1}
fork한 repo를 최신으로 동기화해야 할 때
(지속적인 contribution, 수정하려고 fork 해온 원본 repo에서 업데이트 된 부분 받아올 때 등등)
(in local repo)
동기화해오고 싶은 원본 repo를 upstream이라는 이름으로 추가해준다.
git remote add upstream {동기화해오고 싶은 원본 repo}
upstream repo에서 최신 업데이트 내용을 가져온다.
git fetch upstream
upstream repo의 main 브랜치(혹은 원하는 브랜치)로부터 나의 local repo로 merge 한다.
git switch {원하는 브랜치}
git merge upstream/main(혹은 원하는 브랜치)
이제 반영된 걸 origin에도 적용해주면 된다.
git push origin main
물론 merge가 아니라 rebase를 해줘도 된다.
git rebase upstream/main
rebase의 경우 --force로 push 해야 할 수도 있다는데 위험하지 않을까?
리모트 저장소에 푸시한 커밋은 리베이스하지 말 것
++origin repo에 이미 push했던 작업물(commit)을 rebase하지 말 것. rebase는 origin repo의 커밋 히스토리를 어지럽히지 않고 local repo의 작업물을 origin repo의 최신 변경 사항으로 업데이트하려 할 때 바람직한 merge 전략이라고 한다.
git rebase가 이해가 어려우면 아래 링크 읽어보기
Git | Git Rebase 제대로 알고 쓰기 (feat. cherry-pick)
Creating a pull request template for your repository
[Git] Fork 한 repository 최신으로 동기화하기
[GitHub] fork repository 최신 버전으로 유지하기
How do I update or sync a forked repository on GitHub?
How to update a forked repo with git rebase