# Git - Pull Request 활용하기

# Likelion Git 과제 참고자료


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 활용하기

들어가기

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

pull request란?

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

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

pull request 사용하기

순서

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

1. Fork

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

img
img

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

img

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

2. Clone, remote 설정

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

$ git clone (복사한 URL)

 

img

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

# 원격 저장소 설정 현황 확인방법 
$ git remote -v

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

img

3. branch 생성

  • 자신의 로컬 컴퓨터에서 코드를 추가하는 작업은 branch를 만들어서 진행한다.
  1. 새로운 branch를 만든다.
$ git checkout -b yj_develop

 

img

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

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

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

img

 

img

 

5. Pull Request 생성

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

img

img

6. Merge Pull Request

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

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

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

# 🐧Git Assignment 03

# Pull Request & Merge

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

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

img

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

img

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

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

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

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

img

이부분이 어려울 수 있는데 천천히 한번 따라해봅시다. (1) 먼저 Branch를 해당 팀 feature로 변경해주세요!
(2) 그럼 주황색 창이 생성될거에요
(3) 오른쪽에 Compare & pull request >를 선택해보세요!

img

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

img
img

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

img

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

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


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

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

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

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

6-1. 6의 풀 리퀘에 @lee-sj 를 호출하여서 알린다

# 7. @lee-sj 는 develop로 들어온 풀 리퀘를 확인후 머지를 진행한다.

# 8. @lee-sj 는 모든 변경사항이 develop 브랜치에 저장되었을 경우 master 브랜치로 push 한다.

img

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

img

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

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

Last Updated: 6/18/2023, 2:13:15 PM