Pull Requests

Gata·2024년 6월 5일

😺Git & Github

목록 보기
3/8
post-thumbnail

Pull Requests?


프로젝트의 중심에 Repository(코드 저장소)가 있고, 그 코드 저장소를 복사한 후, 각자 작업이 끝나면 중심에 있는 Repository에 변경 사항을 pull 한다.

특정 branch에 내가 수정한 코드를 push하고 나면 프로젝트 관리자에게 이를 알리고, 내가 수정한 코드를 검토 후 병합해달라고 요청하는 것을 말한다.

코드 충돌을 최소화 할 수 있고 push 권한이 없는 프로젝트나 오픈 소스 프로젝트에 기여할 때 많이 사용한다.

Pull Requests 과정


  1. Fork
    Upstream Repository(원본 리포지토리)를 자신의 저장소(개인 저장소)로 fork

  2. Clone
    Fork 해온 리포지토리를 로컬 저장소로 Clone

  3. Branch 생성
    clone한 프로젝트의 코드를 수정하거나 추가할 때 브랜치를 생성해서 작업할 수 있다.

  4. 수정 작업 후 origin으로 merge
    작업 완료 후 commit, push를 통해 해당 코드를 원격 저장소로 푸시한다.

  5. push
    github으로 push

  6. Pull Request 생성
    원본 리포지토리에서 New pull Request를 통해 pull request 생성

  7. Merge Pull Request
    해당 리포지토리 관리자는 코드의 변경 사항을 확인 후, Merge 여부를 결정한다.

  8. Merge 이후 동기화 및 Fork 및 Branch 삭제
    Merge가 완료되면 로컬에 작성한 코드와 원본의 코드를 병합하고 최신의 상태를 유지하기 위해 동기화 한다.

1. Fork


타켓 프로젝트 저장소를 자신의 저장소로 Fork 한다.

내 저장소 중 어디로 가져올 것인지 선택한다.

Fork가 완료되면 자신의 계정에 새로운 저장소가 생긴다.

2. Clone


Github Desktop에서 File > Clone repository 해서 내 계정에 fork된 저장소를 로컬로 가져온다.

3. Branch


자신의 로컬 컴퓨터에서 코드를 추가하는 작업은 따로 branch를 만들어서 진행한다.
자신이 사용하는 코드 편집 툴을 활용해서 각자 수정 작업을 진행한다.

개발을 하다보면 원래 코드와 많이 달라지게 되는데, branch를 만들면 원래 코드에 영향을 주지 않으면서 독립적으로 개발 할 수 있다.

⭐ Branch에서 작업 후에는 꼭 Commit을 해줘야한다.

4. origin으로 merge


origin(main branch)를 current branch로 띄워두고, merge하려는 branch를 클린한다.

main에서도 코드가 수정되었음을 알 수 있다.

5. push

origin으로 merge된 코드를 Github에 push 해준다.

6. Pull Request 생성

push 완료 후 자신의 계정에서 pull request가 활성화된 것을 확인할 수 있다.

Split을 누르면 수정 전과 후의 코드를 비교할 수 있다.

PR을 받은 원본 저장소 관리자는 코드 변경 내역을 확인하고 merge 여부를 결정한다.

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

merge가 완료되면 로컬 코드와 원본 저장소의 코드를 동기화한다.

git pull origin master

이후에 작업하던 로컬의 branch를 삭제한다.

profile
개발은 즐거워🪇

0개의 댓글