본문 바로가기

2022년_동국대학교/OSSP 팀플 일지

[OSSP]깃 협업하기_Pull Request(PR) 보내는 방법 : Contribution 하기

728x90
PR(Pull Request)은 오픈소스 프로젝트에 참여할 때 가장 기본이 되는 동작이라고 한다.

 

<앞부분>

1. 기여하려는 저장소를 fork 하기

  • 먼저, 기여하고자 하는 저장소를 나의 저장소로 fork 한다.

  • 그 다음, fork한 나의 로컬 저장소에 가보면 정상적으로 fork가 되어 있다는 걸 확인할 수 있다.

2. 내 컴퓨터에 저장소 Clone 하기

  • 이제 이 fork한 저장소를 git clone 
$ git clone [fork한-내-원격-저장소-url.git]

3. 원격 저장소 Remote 설정하기

  • clone 해 온 저장소에 원격 저장소 설정하기(내가 PR을 보낼 곳을 추가해 주는 것)
  • 원격 저장소의 이름은 upstream 으로 지정. 
  • 이 작업은 추후에 fork 저장소를원격 저장소의 최신 커밋으로 내용을 변경해야 하므로 진행해야 한다고 한다.
$ git remote add origin [fork한-내-원격-저장소-url.git]

 

 

[OSSP]깃 협업하기_upstream

팀프로젝트에 앞서서 협업을 위한 기본적인 작업을 들어갔다. 오픈 소스에 기여하기(contribute) 위해서는 오픈 소스 프로젝트의 코드를 수정해야한다. 그러나 내가 직접 오픈 소스 코드에 수정을

jjrm.tistory.com

요기에 자세하게 적어놓음!


4. PR용 branch 생성하기

  • clone 해 온 저장소의 처음 branch는 기본적으로 master
  • 자신의 로컬 컴퓨터에서 코드를 수정하고 PR을 보낼 용도로만 사용할 새로운 branch를 생성해야 한다.
$ git checkout -b [새로운 브랜치 이름]
Switched to a new branch '[새로운 브랜치 이름]'

# 이제 2개의 브랜치가 존재한다.
$ git branch
* [새로운 브랜치 이름]
  master

-b는 브랜치 생성하고 그 브랜치로 이동하는 명령어

5. 코드 수정하고 add-commit-push

  • 오픈소스에서 기여할 부분을 수정하고 git add & git commit 을 진행합니다.
  • 현재 들어와 있는 PR용 branch에 push (push 진행시에 branch 이름을 명시해주어야 한다!!!)
$ git push origin [새로운 브랜치 이름]

6. Pull Request 생성

  • push 완료 후 본인 계정의 github 저장소에 들어오면 Compare & pull reqeust 버튼이 활성화 되어 있다.
  • 해당 버튼을 선택하여 메시지를 작성하고 PR을 생성한다
이건 다른 블로그에서 퍼온거..!!
요로코롬 댓글도 달 수 있다!!!

7. 코드리뷰, Merge Pull Reqest

  • PR을 받은 원본 저장소 관리자는 코드 변경내역을 확인하고 Merge 여부를 결정한다.
  • 우리는 모두가 관리자 권한을 부여받아서 누구다 Merge할 수있는데, 상의없이 마구잡이로 하면, 충돌 일어날 거 같다는 판단이 들어서!! 바톤터치 하는 사람이 merge하기로 했다!!(풀리퀘올린거는 카톡으로 말해주기로 함)

(이건 나중에 한다는데) 8. Merge 이후 동기화 및 branch 삭제

  • 원본 저장소에 Merge가 완료되면 로컬 코드와 원본 저장소의 코드를 동기화 한다.
  • 작업하던 로컬의 branch를 삭제한다.
# 코드 동기화
$ git pull real-blog(remote 별명)
# 브랜치 삭제
$ git branch -d develop(브랜치 별명)
  • 나중에 추가로 작업할 일이 있으면 git pull real-blog(remote 별명) 명령을 통해 원본 저장소와 동기화를 진행하고 4~7을 반복한다.

결론

첫 PR을 생성하고 무사히 Merge 까지 되었다! (감격) 물론 merge는 승원오빠가 해줌

많이 복잡하다.. 많이 해봐야할 거 같다... 쫄보라 괜히 나때문에 꼬이지 않을까.. 걱정...