yunyj99
라둥이
yunyj99
GitHub
전체 방문자
오늘
어제
  • 분류 전체보기 (309)
    • 1. 프로그래밍 (50)
      • 1-1. Git (17)
      • 1-2. Java (13)
      • 1-2-1. Java GUI (1)
      • 오류 (12)
      • 기타 (7)
    • 2. Front-end (57)
      • 2-1. HTML (5)
      • 2-2. CSS (19)
      • 2-3. Java Script (33)
      • 2-4. React (0)
    • 3. Back-end (47)
      • 3-1. Spring MVC - 국비 (15)
      • 3-2. Spring MVC - 남궁성 (30)
      • 3-3. Spring - 김영한 (2)
    • 4. Android (1)
    • 5. DB (20)
      • 4-1. MySQL DBMS (20)
    • 6. 자료구조 & 알고리즘 (44)
      • 6-1. 자료구조 (14)
      • 6-2. 백준 (30)
    • 7. 웹 디자인 (7)
      • 7-1. UX 디자인 (7)
    • 8. 자격증 (35)
      • 8-1. 정보처리기사 (35)
    • 프로젝트 (3)
      • 프로젝트 기록 (3)
    • etc... (43)
      • 패스트캠퍼스 챌린지 (39)
      • 잡담 (4)

블로그 메뉴

  • 홈
  • 태그

최근 글

티스토리

hELLO · Designed By 정상우.
yunyj99

라둥이

쓰기
Git - [ Fork / PR(Pull Request) ]
1. 프로그래밍/1-1. Git

Git - [ Fork / PR(Pull Request) ]

2022. 6. 10. 00:10

1. Fork / PR 이란?

fork 는 다른 사람의 github repository를 복제하여 어떤 부분을 수정, 추가, 삭제를 용이하도록 해주는 복제기능이다. 따라서 자신의 원격 저장소에서 다른 사람의 코드를 복제해와서 마음대로 수정할 수 있다.

fork 한 저장소는 원본(repository)와 연결되어있어 원본에 변화가 생기면 그대로 forked된 repository로 반영할 수 있다. (이때 fetch나 rebase의 과정 필요)

 

그 후 original repository에 변경사항을 적용하고 싶으면 해당 저장소에 pull request를 해야한다. 

즉 원작자에게 요청을 보내어(pull request) 원작자가 수락하면, 원작 코드도 내가 수정한 코드로 바뀌고 자신이 contributor가 된다. 수락을 안하면 바뀌지 않는다.

 

 

 


2. Fork 하기

원하는 프로젝트에서 오른쪽 상단의 Fork 클릭

Fork 클릭

 

Repoitory 이름 / Description 설정 후 Create fork 클릭 하면 끝!

 

그러면 내 레포지토리에 추가된 걸 확인할 수 있다.

 

 

fork를 취소하고 싶으면 생성된 레파지토리를 삭제하면 취소가 된다.

 

 


3. Pull Request 하기

fork해 온 프로젝트에 변경사항을 반영시키기 위해서는 Pull Request를 해야한다. 다만 기존 프로젝트 주인이 PR 내용을 merge한 경우에만 적용된다.

 

 

0) PR 하기 전에 fork한 레포지토리를 최신으로 반영해야 할 때가 있다.

https://json.postype.com/post/210431

 

[Git] Fork 한 repository 최신으로 동기화하기

Fork 한 repository 를 최신으로 동기화시켜야 할 때가 있다. Open Source 에 단발성이 아닌 지속적으로 contribution 하려 할 때수정해서 사용하기 위해 fork 해온 원본 repository 에서 업데이트된 부분을 받아

json.postype.com

 

 

 

 

1) fork해 온 remote 레포지토리에서 보면, 수정된 내용이 있을경우 아래처럼 뜬다. 여기서 Contribute 클릭 후 Open pull request를 클릭하면 된다.

 

그러면 아래 사진처럼 뜬다.

상단의 base repository <- head repository라고 되어 있는 부분은 오른쪽에 있는 브랜치에서 왼쪽에 있는 브랜치로 PR 요청을 보낸다는 뜻이다. 다른 브랜치로 변경할 수 있다.

 

아래쪽의 Able to merge 라는 내용은 PR이 받아들여질 때 충돌 없이 잘 받아들여질 수 있다는 것을 의미한다.

만약 conflict가 발생할 경우 빨간색으로 cannot merge 라는 메시지가 뜰 것이다. 그렇다 하더라도 PR을 보내는 데에는 문제가 없으며 단지 PR을 받아들이는 쪽에서 충돌을 해결해야 한다는 번거로움이 있다.

 

 

 

2) 그리고 오른쪽에 있는 create pull request 버튼을 누르면 아래처럼 뜬다.

 

여기서 코멘트를 달 수 있다.

 

 

 

3) 코멘트 작성 후 오른쪽 아래에 Create Pull Request 버튼을 눌러 주면 원작자에게 요청이 보내진다.

원작자가 이 request를 받아들이면 본 브랜치로 merge하게 된다.


참조

더보기

https://eunhee-programming.tistory.com/159

 

(GitHub)깃허브 fork에대해서/fork하기,취소하기 - 초보자도 이해하기 쉬운 설명

깃허브 fork에 대해서 <포스팅 요약> 1. fork에대한 간략 설명 2. fork 하기 3. fork 취소하기 fork란? fork는 개발자들끼리 협업을 할때 쓰입니다. 여기서 오해하지 말아야할 것이, 협업을 할때 쓰인다는

eunhee-programming.tistory.com

https://studyjinyeol.tistory.com/186

 

Git - fork 란?

- fork 는 다른 사람의 github repository를 복제하여 어떤 부분을 수정, 추가, 삭제를 용이하도록 해주는 복제기능이다. - fork 한 저장소는 원본(repository)와 연결되어있어 원본에 변화가 생기면 그대로

studyjinyeol.tistory.com

https://roniruny.tistory.com/113

 

[Git] 깃 사용법 정리(2) - Fork와 Pull Request

Fork Fork는 아래와 그림과 같이 Kim이라는 사람이 Lee의 프로젝트에 기여하기 위한 첫 시작이다. 기본적으로 Kim이 Lee의 프로젝트의 공동 협력자가 아니라면!! Kim은 자기 마음대로 Lee의 프로젝트를

roniruny.tistory.com

https://holika.tistory.com/entry/Git-%EC%82%BD%EC%A7%88%EA%B8%B0%EB%A1%9D-PR%EC%9D%84-%EC%98%AC%EB%A6%AC%EB%8B%A4-Pull-Request%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C

 

[Git 삽질기록] 'PR을 올리다'? Pull Request에 대해서

서론 이전 글에서 언급했듯이 과제를 Fork하는 방법에 대해 고민하다가, 어찌어찌 Fork를 하고 작업을 시작했다. BUT, git과의 전쟁은 여기서 끝이 아니었다. 나는 또 이런 말을 듣게 된다. "작업한

holika.tistory.com

https://json.postype.com/post/210431

 

[Git] Fork 한 repository 최신으로 동기화하기

Fork 한 repository 를 최신으로 동기화시켜야 할 때가 있다. Open Source 에 단발성이 아닌 지속적으로 contribution 하려 할 때수정해서 사용하기 위해 fork 해온 원본 repository 에서 업데이트된 부분을 받아

json.postype.com

 

'1. 프로그래밍 > 1-1. Git' 카테고리의 다른 글

Git - [ 커밋 메세지 규칙 ]  (0) 2022.06.12
Git - [ issue 관리 ]  (0) 2022.06.11
Git - [ 강제로 Git Pull 하기 ]  (0) 2022.04.26
Git - [ eclipse 프로젝트 Github 올리기 ]  (0) 2022.04.01
Git - [이전 커밋 이름 변경하기]  (0) 2022.02.26
    '1. 프로그래밍/1-1. Git' 카테고리의 다른 글
    • Git - [ 커밋 메세지 규칙 ]
    • Git - [ issue 관리 ]
    • Git - [ 강제로 Git Pull 하기 ]
    • Git - [ eclipse 프로젝트 Github 올리기 ]
    yunyj99
    yunyj99
    개발자를 목표로 하는, 새싹처럼 성장하고 싶은 사람의 학습 공간 ^v^

    티스토리툴바