ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Git] clone 과 Fork 의 차이점
    Github/Git 2019. 11. 22. 00:39
    728x90
    반응형

    이번 글에서는 cloneFork의 차이점을 알아보려 한다. 

    1. fork란?

    fork는 다른 사람의 Github Repository에서 내가 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때 해당 repository를 내 Github Repository로 그대로 복제하는 기능이다. fork한 저장소는 원본(원래 Repository 주인)과 연결되어 있다. 여기서 연결되어 있다는 의미는 원래 레포지토리에 어떤 변화가 생기면(새로운 commit, push) 이는 그대로 fork된 repository로 반영할 수 있다. 이 때 fetch, pull의 과정이 필요하다

    그 후 original repository에 변경 사항을 원본 레포지토리에 적용하고 싶으면 원본 저장소에 pull request를 보내야 한다.
    pull request가 original repository의 관리자로 부터 승인 되었으면 내가 수정한 코드가 commit, merge되어 원본 레포지토리에 반영된다. pull request 하기 전까지는 내 github에 있는 fork한 repository에만 변경사항이 적용된다.

     

    즉 Repository에 권한이 없는 사용자가 저장소를 fork하고 fork한 자신의 저장소에 변경 사항을 적용한 후 Push한다. 이 후 내 저장소에 있는 브랜치를 원래 저장소(original repository)에 Pull Request 요청을 보낸다. (보내는 법이 궁금하다면 여기 에서 확인하자.) 내가 만든 코드가 승인되면 해당 저장소에 Merge 된다.

     

     

     

    Fork 예시

    Fork한 원본 레포지토리

     

    Fork한 후에 나의 Github Repository

    그러면 위와 같이 아이디/레포지토리을 보았을 때 아이디가 다른 것을 알 수 있다.

     

     

    2. clone이란?

    • clone은 특정 원격 Repositoy와 나의 로컬 PC를 연결해 데이터를 복사하여 가져오는 기능이다.
    • 내가 생성한 원격 저장소를 내 컴퓨터와 연결해서 데이터를 복사하는 작업
    • 포크한 원격 저장소를 내 컴퓨터와 연결해서 데이터를 복사하는 작업

     

    위와 같이 clone을 받고 싶은 레포지토리를 들어가서 Code버튼을 누른 후에 레포지토리 주소를 복사하자. 그리고 로컬 터미널에서 아래와 같이 입력하면 clone을 받을 수 있다.

     

    git clone https://github.com/wjdrbs96/Gyunny_Spring_Study.git

     

     

    정리

     

    출처: https://velog.io/@imacoolgirlyo/Git-fork%EC%99%80-clone-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90-5sjuhwfzgp

    • Larry라는 사람의 Recipes 레포지토리에 Contributors로 등록이 되기 위해서는 먼저 나의 Github 저장소로 Fork를 한다.
    • 그리고 나의 Github Repository에 있는 저장소를 나의 로컬 PC에다 clone을 받아서 복사한다.
    • 그리고 로컬에서 본인이 원하는 내용을 수정한다.
    • 마지막으로 원본 레포지토리에 Pull  Reqeust를 보내 레포지토리 주인의 승인을 기다리면 된다.
    반응형

    댓글

Designed by Tistory.