본문 바로가기
Git/Git & GitHub

[Git] Fork & Clone

by ♡˖GYURI˖♡ 2023. 10. 19.

Fork

다른 사람의 Github Repository에서 내가 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때 해당 Repository를 내 Github Repository로 그대로 복제하는 기능이다.

Fork한 저장소는 원본(다른 사람의 Github Repository)과 연결되어 있다. 여기서 연결되어있다는 의미는 원본 Repository에 어떤 변화가 생기면 (새로운 commit), 이는 그대로 Forked된 Repository로 반영할 수 있다. 이 때, fetch나 rebase의 과정이 필요하다.

그 후 원본 Repository에 변경 사항을 적용하고 싶으면 해당 저장소에 Pull Request를 해야한다. Pull Request가 원본 Repository의 관리자로부터 승인되면 내가 적은 코드가 commit, merge 되어 원본에 반영된다. Pull Request 하기 전까지는 내 Github에 있는 Forked Repository에만 변경 내용이 적용된다.

 

 

Clone

Clone은 특정 Repository를 내 Local Machine에 복사하여 새로운 저장소를 만드는 기능이다. Clone한 원본 Repository를 remote 저장소 origin으로 가지고 있다. 권한이 없는 경우 해당 저장소로 push하지 못한다.

또한 기존의 제일 처음 원본 Repository와 연결되지 못한다. 즉, 저장소의 commit 등의 로그를 보지 못함

 

 

Fork는 개념이고 Clone은 프로세스이다. Forking은 저장소의 별도 사본을 포함하며 관련된 명령이 없다. 복제는 'git clone' 명령을 통해 이루어지며 모든 코드 파일을 로컬 머신으로 수신하는 프로세스이다.

 

 

HTTPS와 SSH 형식의 GitHub 저장소 주소

# HTTPS 형식
https://github.com/[USERNAME]/[REPOSITORY_NAME].git

# SSH 형식
git@github.com:[USERNAME]/[REPOSITORY_NAME].git$ git clone <https://github.com/계정/리포지토리.git>

 

 

git clone 명령어 형식

git clone [REPO_URL] [DIR]

[REPO_URL]에는 clone해 올 저장소의 주소를 지정해줍니다.

[DIR]인자는 저장소를 로컬에 복제할 위치를 지정합니다. 특별한 이유가 없다면 보통 생략합니다.

 

 

HTTPS 프로토콜로 Git 저장소 clone

$ git clone https://github.com/lainyzine/git-clone.git
Cloning into 'git-clone'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.

 

 

SSH 프로토콜로 Git 저장소 clone

$ git clone git@github.com:lainyzine/git-clone.git

 


 

 

Git fork와 clone 의 차이점

Forking a Repository - How to Use Git and GitHub 내용을 참고했습니다. fork fork는 다른 사람의 Github repository에서 내가 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때 해당 respository를 내 Github repository로

velog.io

 

[Git] clone 과 Fork 의 차이점

이번 글에서는 clone과 Fork의 차이점을 알아보려 한다. 1. fork란? fork는 다른 사람의 Github Repository에서 내가 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때 해당 repository를 내 Github Repository로 그

devlog-wjdrbs96.tistory.com

 

Git Clone과 Git Fork의 차이점

1. Forking과 Cloning의 주요 차이점 Forking은 GitHub 계정에서 수행되고 복제는 Git을 사용하여 수행된다. 리포지토리를 포크할 때 원본 리포지토리(업스트림 리포지토리)의 복사본을 생성하지만 리포

dejavuhyo.github.io

 

Git에서 Fork와 Clone

Fork와 Clone의 개념이 비슷한 것 같기도 하고, 애매모호해서 한 번 정리로 끝내려고 한다. 정확한 개념을 몰라 검색을 하는 도중 pasudo123.tistory.com/287 20190106 Git Fork & Git Clone 차이 The difference between fo

do9562.tistory.com

 

20190106 Git Fork & Git Clone 차이

The difference between forking and cloning a Repository Forking(1) 분기하다.(2) 갈라지다. 오리지날 프로젝트에는 어떠한 영향을 끼치지 않고 본인의 원격 저장소로 들고와 쉽게 변경을 할 수 있다. fork 된 저장

pasudo123.tistory.com

 

git clone 사용법: 원격 Git 저장소 복제

git clone 명령어는 원격의 Git 저장소를 로컬에 복제해오는 명령어입니다. 이번 글에서는 git clone의 기본적인 사용법과 HTTPS과 SSH 프로토콜로 clone하는 방법을 알려드립니다. 또한 git clone을 사용하

www.lainyzine.com

 

 

GitHub SSH Key 생성 및 등록 방법

GitHub 저장소는 HTTPS 혹은 SSH 프로토콜을 통해 다양한 작업을 할 수 있습니다. SSH 프로토콜은 공개키 방식으로 안전하게 정보를 교환합니다. 이번 글에서는 GitHub 인증을 위해 SSH 키를 만드는 방법

www.lainyzine.com