로컬에서는 잘 되는데 ☘️

Git - Pull Request 활용하기

by youngjun._.

Pull Request

Git 기초 공부하기 목차
(1) 2020/02/29 - [Git] - Visual Studio Code에 Github 연동하기
(2) 2020/04/16 - [Git] - Git 이란?
(3) 2020/04/17 - [Git] - Git 설치 및 커멘드 사용법
(4) 2020/04/18 - [Git] - Git Branch 사용하기
(5) 2020/04/19 - [Git] - Git remote 원격 저장소와 Github
(6) 2020/04/20 - [Git] - Git - Pull Request 활용하기

0. 들어가기

  • 한이음 공모전을 진행하면서 github 협업을 하게 됨
  • pull request 활용이 어려워 공부한 내용 정리

 

1. pull request란?

내가 수정한 코드가 있으니 내 branch를 가져가
검토 후 병합해주세요!

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

2. pull request 사용하기

순서

  1. Fork
  2. clone, remote 설정
  3. branch 생성
  4. 수정 작업 후 add, commit, push
  5. Pull Request 생성
  6. Merge Pull Request
  7. Merge 이후 동기화 및 branch 삭제

 

2-1. Fork

  1. 타겟 프로젝트의 Repository를 자신의 Repository로 Fork 한다.

2. URL이 변경된 것을 확인할 수 있다.

/hanium_2019/hanium_2019가 아니라
/jun108059/hanium_2019로 URL이 변경됨

 

2-2. Clone, remote 설정

1. 자신의 PC에 Fork 한 Repository를 Clone 한다.

$ git clone (복사한 URL)

  • 내 컴퓨터에 생성된 로컬 저장소에 원격 저장소를 추가한다.
  • Github에 새로운 Repository를 생성
  • 위와 같은 방법으로 clone or download 버튼을 눌러 표시되는 URL을 복사한다.
  • Clone 했던 원본 프로젝트 저장소(origin)를 원격 저장소(github)로 추가
# 원본 프로젝트 저장소를 원격 저장소로 추가
$ git remote add post(별명) (복사한 URL)
 
# 원격 저장소 설정 현황 확인방법
$ git remote -v

fork, clone 한 프로젝트는 origin이라는 별명이 기본으로 추가되어있다.
따라서 따로 설정해주지 않아도 되고, 원격 저장소로 추가할 때에는 별명을 설정해 주어야 함

 

2-3. branch 생성

자신의 로컬 컴퓨터에서 코드를 추가하는 작업은 branch를 만들어서 진행한다.

  1. 새로운 branch를 만든다.
$ git checkout -b yj_develop

2. 생성된 2개의 branch를 확인할 수 있다.

 

2-4. 수정 작업 후 add, commit, push

  • code editor를 통해 코드를 수정한다.
  • 작업이 완료되면, 자신의 Github Repository(origin)에 add, commit, push 하여 반영한다.
  • 주의사항 push 진행 시에 branch 이름을 명시해야 한다.
$ git push origin yj_develop

git add 후 git commit
git push origin “branch name”

 

2-5. Pull Request 생성

  • push 완료 후 본인 계정의 github 저장소에 접속해 Compare & pull reqeust 버튼이 활성화되어 있는 것을 확인할 수 있다.
  • 해당 버튼을 선택하여 메시지를 작성하고 Pull Request를 생성한다.

 

2-6. Merge Pull Request

  • Pull Request를 받은 원본 저장소 관리자는 코드 변경내용을 확인하고 Merge 여부를 결정하게 된다.

 

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

  • 원본 저장소에 Merge가 완료되면 로컬 코드와 원본 저장소의 코드를 동기화한다.
  • 작업하던 로컬의 branch를 삭제한다.
# 코드 동기화
$ git pull yj(remote 별명)

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

참고
아래 내용은 멋쟁이사자처럼 8th를 진행하는 과정에서
강의를 위해 fork 없이 branch를 활용해 Pull Request를 보내는 실습 내용입니다.

🐧Git Assignment 03

Pull Request & Merge

Gitkraken 사용이 익숙해지면 더 좋겠지만 Github로 하는 방법부터 익혀보아요.

1. 팀원(팀장 제외) 전원은 본인 이름 브랜치에서 본인이름.md 파일에 한줄을 더 추가한 후 커밋을 진행한다.

브랜치를 변경하고 지난 세션에서 생성했던 본인이름.md 파일에 한 줄을 더 추가해주세요!

한 줄이 더 추가된 걸 확인할 수 있습니다.

2. 각 팀의 팀원은 feature/본인팀 브랜치( 이하 팀 브랜치)로 본인 브랜치의 커밋을 pull request(이하 풀 리퀘) 를 생성한다.

3. 해당 풀 리퀘의 코멘트에 본인 팀장을 호출( @이름 )하여서 알린다.

4. 팀장은 해당 풀 리퀘를 확인한다. (해당 풀리퀘에는 제출자-이름.md 파일 추가만 존재한다.)

이 부분이 어려울 수 있는데 천천히 한번 따라 해 봅시다.

(1) 먼저 Branch를 해당 팀 feature로 변경해주세요!
(2) 그럼 주황색 창이 생성될 거예요.
(3) 오른쪽에 Compare & pull request >를 선택해보세요!

Pull Request를 Open 할 수 있는 페이지로 이동됐어요.

(1) 먼저 Merge를 요청할 Base Branch를 선택합니다!
(2) 그리고 어떤 내용으로 Merge를 요청하는지 제목에 적어줍니다.
(3) 자세한 내용을 아래에 적고 @ 태그를 이용해서 팀장을 호출해주세요.
Branch 변경과 @ 태그는 사진은 아래에 첨부할게요!

 

작성이 완료되었다면 우측 하단에 있는 Create pull request 버튼을 누르세요.

버튼을 누르면 다음과 같은 페이지로 이동합니다.
지금 저희는 온라인 팀이니까 into feature/online branch가 표시되고
여러분 이름으로 만든 branch 명(저는 `youngjun-park' branch)으로 부터(from) 표시가 됩니다.
태그 하셨는지 한번 더 확인해주세요!

여기까지 해주시면 여러분께서 할 일은 끝낸 겁니다!


팀장이 하는 일도 궁금하시면 참고하세요!

5. 팀장은 본인 팀의 풀리퀘를 차례차례 팀 브랜치로 merge(이하 머지)한다.

잘못된 풀 리퀘가 있을 경우 해당 풀 리퀘에서 코멘트를 통하여 소통/정정한 후 맞는 풀 리퀘로 변경 요청한 후 팀원의 변경의 변경 이후 머지를 진행한다.

6. 팀장은 팀원의 모든 풀리퀘를 머지한 이후 팀 브랜치에서 develop 브랜치로 풀 리퀘를 보낸다.

6-1. 6의 풀 리퀘에 {@이름} 을 호출하여서 알린다

7. {@이름} 은 develop로 들어온 풀 리퀘를 확인 후 머지를 진행한다.

8. {@이름} 은 모든 변경사항이 develop 브랜치에 저장되었을 경우 master 브랜치로 push 한다.

팀장은 Files changed탭을 누르면 여러분이 수정한 file 내용을 확인할 수 있어요.

Review changes 버튼을 누르면 수정한 내용에 대해 Comment를 작성할 수 있습니다!
Submit review 버튼을 누르면 Comment 한 내용이 Pull request를 보낸 사람이 확인할 수 있어요.

develop 브랜치로 Pull Request를 보내는 방법은 앞에서 여러분께서 Pull Request 보낸 방법과 똑같아요!

'Tool > Git' 카테고리의 다른 글

[Git] fatal: Authentication failed 해결 (IntelliJ)  (0) 2021.12.22
Github - 마크다운(MarkDown) 문법 정리  (2) 2020.04.23
Git remote 원격 저장소와 Github  (0) 2020.04.19
Git Branch 사용하기  (0) 2020.04.18
Git 이란?  (2) 2020.04.16

블로그의 정보

개발하는만두

youngjun._.

활동하기