본문 바로가기
[ GIT ]

[ Git ] 깃허브로 협업하기 (1) : fork, clone

by 불주먹고양이 2022. 2. 12.

1. fork 와 clone의 차이점

(1) fork : 다른 사람의 원격 저장소를 내 원격 저장소로 저장하기

 

- fork를 쓰는 이유 : 깃허브에 공유되어 있던 다른 사람이 만든 오픈소스에 새로운 기능을 추가해서 공유하고 싶을 때 사용한다.

fork 위치

(2) clone : 다른 사람의 원격 저장소를 내 로컬 저장소로 저장하기

 

 

 

2. clone 실습

(1) 저장소의 주소 가져오기

code 버튼 -> 복사 버튼

 

 

(2) git bash로 원하는 폴더에 clone하기

git clone [ repository URL ]

git clone은 다음 세 개의 명령들을 포함한 작업이다.

> git init (내 컴퓨터의 폴더를 git 저장소로 초기화한다!)

> git remote add origin [ repository URL ] (내 컴퓨터의 폴더에 프로젝트 원격 저장소를 추가한다!)

> git fetch origin master (master 브랜티 데이터를 내 컴퓨로 가져와 저장한다!)

 

※ fetch는 데이터를 내 컴퓨터로 가져오는 것이고, pull은 원격 저장소의 내용을 가져와서 자동으로 병합 (merge)한다.

따라서, fetch는 맨 처음 코드를 가져올 때, pull은 그 이후에 사용하는 것이 일반적이다.

그리고 어떤 원격 저장소의 데이터를 가져올 때 내 컴퓨터의 데이터와 병합하고 싶지 않은 경우에도 fetch를 사용한다.

c:/git 폴더에 원격 저장소의 내용이 clone 되었다.

 

 

(3) 원격 저장소에 새로운 파일을 추가해보고, pull 실습하기

git pull

성공적으로 pull 된 것을 볼 수 있다.

 

 

(4) 로컬에서 파일 수정해보고, push 실습하기

git add .
git commit -m "[ commit 메시지 ]"
git push

git add . 는 모든 수정 사항을 스테이징 한다는 뜻이다.

 

원격 저장소에도 수정된 내용이 잘 반영된 것을 확인할 수 있다.

 

 

 

3. fork 실습

(1) fork 버튼 누르기

성공적으로 fork 된 것을 볼 수 있다.

 

 

(2) fork한 프로젝트를 내 local에 clone 하기

위의 clone 방법과 동일하다.

① repository URL 복사

② terminal에 git clone [ repository 주소 ]

 

 

(3) 기존의 원격 저장소 연결하기

지금 상태로는 내 컴퓨터에서 아무리 변경 사항이 있더라도 기존의 프로젝트에 반영되지 않는다.

따라서, 내 컴퓨터를 원격 저장소와 연결해서 pull 했을 때 변경 사항이 반영되도록 한다.

git remote add upstream [ 기존 원격 repository 주소 ]

 

 

참고 >

https://hellvelopment.tistory.com/30

https://salix97.tistory.com/223

'[ GIT ]' 카테고리의 다른 글

[ Git ] 깃허브로 협업하기 (2) : pull request  (0) 2022.02.15