23.4.13 깃 풀리퀘스트

HS L·2023년 4월 14일
0

정리

목록 보기
6/7

풀리퀘스트

Pull request, 대표적으로 push권한이 없는 오픈소스 프로젝트에 참여하여 코드기여를 하고 싶을때 작성한 내 코드를 프로젝트쪽에서 pull 할 수 있게 요청하는것.

과정

1. 원본 저장소 포크

원본저장소는 푸시를 할 수 없기 때문에 푸시를 할 수 있도록 내 원격저장소에 포크해온다.(원본저장소 프로젝트를 내 원격저장소에 복제해온다.)

깃허브에서 해당 원본저장소 fork로 내 원격저장소 생성

2. 포크한 저장소 클론

포크해온 저장소를 내 로컬에 클론 받는다.

작업할 위치에서 git명령어 실행, 원격저장소 주소는 포크해온 내 원격저장소의 주소 입력

git clone <원격저장소 주소>
ex) git clone git@github.com:hyeon5819/petstagram.git

3. 브랜치 생성 후 이동

클론받고난 후 메인브랜치는 건들지 않고 바로 작업을 위한 브랜치를 만들고 이동해준다.

  1. 브랜치 생성 후 브랜치 이동
git branch <브랜치 이름>
git checkout <브랜치 이름>
ex) git branch my_branch
git checkout my_branch
  1. 브랜치 생성하고 이동까지 한번에
git checkout -b <브랜치 이름>
ex) git checkout -b my_branch

4. 작업한 브랜치 푸시

작업이 끝난 후 작업내용을 내 원격저장소에 푸시한다.
작업 브랜치에서 add, commit, push까지 진행
이때 push는 포크한 원격저장소에 진행한다.

git push <원격저장소 이름> <작업중인 브랜치 이름>
ex)git push origin my_branch

5. 풀리퀘스트 보내기

푸시 후 포크한 원격저장소에 가서 풀리퀘스트를 보낸다.
github에 들어가서 원본저장소에 pull request를 보낸다.

참고링크

6. Merge 이후 동기화 및 branch 삭제

main으로 이동

git checkout main

upstream 동기화

git pull <원본 저장소> <브랜치이름>
git pull upstream main

origin에 반영

git push origin main

로컬 브랜치 삭제

git branch -d 

원격 브랜치 저장소도 삭제하고 싶은 경우

git push origin --delete <브랜치이름>

작업중 원본저장소가 업데이트 됐을때 작업브랜치에 합치기

로컬브랜치에 원본저장소의 업데이트 내용을 fetch

git fetch upstream

로컬브랜치에 원본저장소 병합

git checkout <브랜치명>
git merge upstream/main

컨플릭 생기는 경우 해결 후 커밋진행

이후 포크싱크를 위해 6 항목 실행

profile
식이

0개의 댓글