Skip to content

(PR) 방법 전환 #42

@blcklamb

Description

@blcklamb

문제 상황

PR 시 이전 것을 close 하지 않으면 이후 PR이 꼬여버리거나
코드리뷰를 원치 않는 commit을 관리하기가 번거롭다.

해결 방법

원본 repository를 fork를 떠서 각자 개별적으로 관리한 뒤
코드리뷰를 원하는 코드만 별도로 PR을 올린다.

Fork?

clone과 유사해보이지만, 용도가 다릅니다.
clone는 기존 저장소의 소스코드 및 git 이력을 복사하는 데 그치기에
이후 다른 사람들끼리 원본 저장소에 기여하려면 다시 pull을 해야 push할 수 있습니다.

fork는 원본 저장소를 가져오면서 원본 저장소와의 연결이 존재합니다.
사본 저장소(forked repo)에서 작업한 뒤 원본 저장소로 기여하려면 PR을 올리고
pending 상태로 둔 다음에 원하는 부분을 쉽게 조정할 수 있다는 점에서 다릅니다.

STEP 1. Fork

자신의 repository로 fork 합니다.

image

image

image

본인이 작업하는 IDE에 clone합니다.

image

STEP 2. Commit

열심히 알고리즘을 풀고 commit할 준비를 합니다.

commit 전 원격 저장소를 update합니다.

$ git remote remove origin
$ git remote add origin {fork한 레포지토리}

image

평소하던대로 commit 합니다.

image

STEP 3. PR

원본 repository로 PR하는 방법은 여러 가지가 있는데, 편한 방법을 택하시면 됩니다.

  1. commit 내역 클릭
    또는
  2. Pull requests>New Pull Request 버튼 클릭

image

다음 캡쳐에서 나온 것처럼 컨벤션을 지키며 메시지를 작성하시면 됩니다.

PR 컨벤션

[CR] N월 N주차

PR 메시지에 포함되어야 할 것

- 문제 번호
- 리뷰어에게 하고 싶은 말(선택)

image

image

STEP 4. Code Review

Code Review

image

image

image

image

STEP 5. Merge

Reviewer에게 Approve를 받았으면, 해당 코드리뷰를 확인한 다음,

Merge Pull Request를 클릭하시면 됩니다.

스크린샷 2022-08-12 오후 3 34 14

예상 문제 상황

  • 원치 않은 commit을 PR에 올렸을 때

<commit 수정 방법>

  • 커밋 내역 확인하기
$ git log --oneline -{보고 싶은 커밋 수}
ex.
git log --oneline -3

스크린샷 2022-08-12 오후 3 50 33

  • 되돌리고 싶은 커밋 개수만큼 reset시키기
    (혹시 모르니 다시 올리고 싶은 파일은 복사해서 임시 저장 해주세요)
$ git reset --hard HEAD~{원하는 개수}
ex.
git reset --hard HEAD~3

스크린샷 2022-08-12 오후 3 52 27

스크린샷 2022-08-12 오후 3 52 33

스크린샷 2022-08-12 오후 3 52 47

  • Merge conflict가 났을 때
    (작성 예정입니다.)

혹시나 읽다가 모르시겠으면 꼭 알려주세요!

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions