본문 바로가기

DEVELOPER/Git & Github

[Git/Github] 원격저장소(Github)에서 저장소 내려받기


클론(Clone)풀(Pull) 등을 활용해서

원격 저장소(Github)에 저장된 프로젝트를 가져오는 방법에 대해서 알아보도록 하겠습니다.

 


◎ 명령어 설명


1. 원격 저장소(Github)에 있는 저장소(프로젝트) 받아오기

명령어 : $ git clone [클론 할 원격 저장소 주소]

우리는 원격저장소(Github)에 있는 저장소를 내려받을 수 있습니다.

그러기 위해서 Clone이라는 명령어를 사용합니다.

▶ Clone 명령어를 사용하면 자동으로 로컬 저장소(. git)가 생성됩니다.

▶ (Zip 파일로 내려받을 시에는 로컬 저장소 생성 안됨)

 

아래부터 예를 들도록 하겠습니다.

 


고양이 개발자와 신입 문어 개발자가 있습니다.

출처 : Fastcampus

위 이미지에서 볼 수 있듯이
고양이 개발자는 커밋을 하여 Github에 프로젝트를 push 했습니다.
시간이 지나서 신입 개발자 문어가 이 저장소(프로젝트)를 자신의 컴퓨터로 받아오고 싶어 합니다.

출처 : Fastcampus

그래서 문어 개발자는 고양이의 원격 저장소에서 
Clone을 하여 저장소를 내려받습니다.

 

2. 원격 저장소(Github)의 데이터 가져오기

git pull [원격 저장소 이름] [브랜치이름]

1번 과정처럼 Clone을 통해서 저장소를 받아온 후

원격 저장소에 새롭게 추가된 커밋을 받아올 때는 pull을 통해서 받을 수 있습니다.


출처 : Fastcampus

문어 개발자가 Clone을 통해서 저장소를 받아온 이후
고양이 개발자는 새로운 커밋을 추가하고 원격 저장소에 Push를 했습니다.

출처 : Fastcampus

문어 개발자는 Pull을 해서 원격 저장소에 업데이트된 내용을 받았습니다.

다른 사람에 저장소뿐만이 아닌 자신의 저장소 내에서도 Pull을 사용하여 변화된 내용을 받습니다.
만약 원격 저장소는 업데이트가 되었는데 로컬 저장소는 업데이트되지 않은 채 Push를 시도하면 오류가 발생합니다.

 

4. 외부인이 나의 저장소에 커밋하기

추가적인 내용으로 외부인이 나의 저장소를 클론 하고 Push를 할 수 있습니다.

▶ 단, 외부인에게 푸시 권한이 있어야 가능합니다.(권한은 계정 주인이 타인에게 부여 가능)


출처 : Fastcampus

문어 개발자는 고양이 개발자의 저장소에 새로운 내용을 추가했습니다.
그리고 고양이 개발자에게 푸시 권한을 받고, 원격 저장소에 Push를 했습니다.

 


 

◎  Clone 실습하기


다른 사람(계정)의 저장소를 받아올 수도 있지만,

이번에는 새로운 폴더를 생성하고 업로드된 프로젝트를 받아오도록 하겠습니다.


1. 저장소를 받아 올 새 폴더 만들기

prac_git_clone 이름으로 폴더를 만들었습니다.

 

2. 클론 할 github 저장소로 이동 후 Code 버튼 클릭

① 초록색 Code 버튼 클릭

② 현재 저장소 링크 복사 

아래 Download ZIP은 저장소를 압축 파일로 다운로드하는 것입니다.

똑같이 내려받을 수 있지만, 로컬 저장소(. git)는 생성되지 않습니다.

Open with GitHub Desktop은 소스트리와 같이 GUI인 깃 헙 데스크톱에서 여는 것입니다.

 

3. Git bash에서 명령어 입력

① git bash를 연 후 cd를 통해서 받아올 폴더로 이동

② git clone 클론 할 원격 저장소 주소


위 이미지처럼 새로 만든 폴더에 파일들이 받아진 것을 볼 수 있습니다.

하지만 위 사진은 Dancing이라는 폴더가 한번 더 생성되었습니다.

우리는 Dancing이라는 폴더는 생성하지 않고 파일들만 내려받도록 하겠습니다.

 

방금 받은 폴더를 삭제한 후 다시 Clone을 하도록 하겠습니다.


4. 저장소의 파일들만 내려받기

① rm -rf 폴더 이름/ 입력

② git clone 클론 할 원격 저장소 주소 .

위 이미지처럼 rm -rf 를 입력해서 폴더를 삭제해주세요.

그리고 이번에는 아까처럼 git clone 주소를 입력하고 뒤에 마침표를 붙여주세요.

아까와 다르게 Dancing폴더는 생성이 안되고, 파일만 받아진 것을 볼 수 있습니다.


 

◎  Pull 실습하기


1. 기존 파일 내용 추가하기

원격 저장소에 저장된 폴더입니다.

원격 저장소에 올렸던 폴더를 열고 CSS 파일을 추가했습니다.

 

2. 변화 내용 commit, push 하기

해당 폴더에 변동된 파일을 모두 add

commit, push를 진행합니다.

위 이미지처럼 원격 저장소 내용이 업데이트된 것을 볼 수 있습니다.

클론 파일은 아직 업데이트하지 않았기 때문에 pull 명령어를 통해 받아옵니다.

 

2. 클론 받은 파일에 Pull로 내용받아오기

cd .. : 이 명령어로 상위 폴더로 이동합니다. (cd와 반대)

git pull origin master 명령어 입력

clone 폴더에도 css가 생성된 것을 볼 수 있습니다.


 

반응형