본문 바로가기

I_TStory/GIT

[Github 사용법 A to Z] 2_Github 원격저장소에 코드 올리기, git clone, git pull

지난 챕터에서 git checkout으로 이전커밋으로 돌리기도 하고 다시 되돌아오는 시간여행 해봤습니다.

아직 원격저장소에 코드를 안올려봤는데 이번챕터에서 해보겠습니다.

 

Github 웹사이트를 원격저장소(레퍼지토리) 라고 생각하면 되고

vscode 와 같은 내 로컬 환경을 로컬저장소로 생각하면 됩니다.

 


📌 원격 저장소 만들기

상단에 + 버튼 눌러서 New Repository 선택

레포지토리 이름 입력하고 Public 으로 설정해줍니다.

Private 로 설정하면 다른사람이 볼 수 없는 프라이빗한 레포지토리가 생성됩니다. 

 

초록색 create 버튼 눌러서 레포지토리 생성해주세요.

그러면 원격저장소 만들어진 건데 복사 버튼 눌러서 저장소 주소 복사합니다.

 

📌 원격저장소와 로컬저장소 연동

git remote add origin 복사한주소  터미널에 입력

 

git remote add origin 복사한주소 터미널에 입력

 

git branch 를 입력하면 현재 브랜치가 어딘지 보여줍니다. 지금 기본브랜치인 main 브랜치입니다.

나중에 브랜치 생성해서 다른 브랜치에 올릴 수도 있습니다. 그냥 방이라고 생각하면 될 것 같습니다.

협업을 하게 되면 각각 개인 브랜치에 올리고 main 브랜치에 병합하는 식으로 진행하게 될 겁니다.

 

우리는 걍 main 브랜치에 올립시다

 

📌  git push origin 브랜치명

git push origin main 으로 메인 브랜치에 코드 업로드를 성공했습니다.

이제 원격저장소를 확인하면 코드가 업로드된 것을 볼 수 있을 겁니다.

 

깃허브를 새로고침하면 이렇게 리드미 파일이 올라간 것을 볼 수가 있죠

 


 

📌 Clone : 원격저장소의 커밋을 로컬저장소에 내려받기

이제 원격저장소의 커밋을 로컬저장소에 내려받는 것을 해보겠습니다.

 

clone 하면 원격저장소 주소와 코드들을 내 로컬저장소로 가져올 수 있습니다.

즉, 깃허브 웹페이지에 올려져있는 코드를 내 로컬저장소로 복제하는 것입니다.

 

원격저장소 코드 복사해두세요.

 

폴더 새로 생성 후 터미널에 git clone 원격저장소주소 입력

clone_test라는 새폴더를 바탕화면에 만들어서 vscode 터미널 켜고 

git clone 원격저장소주소 를 입력해주면 이렇게 코드가 받아와져서 gitstudy 폴더가 생긴 것을 볼 수 있습니다.

이전에 하듯이 맥터미널에서 clone_test 경로로 접속 후 git clone 명령어 입력하셔도 됩니다.

저는 이게 보여주기 편해서 vscode 터미널에서 진행했습니다.

 

CLONE_TEST 안에 gitstudy 라는 폴더가 또 생기는 게 싫다면

git clone 원격저장소주소 .  이렇게 한칸 띄고 마침표를 찍어주세요.

저는 이걸 몰라서 매일 폴더 하나 더 생성했네요 ;

 

이렇게 .git 파일이 있는 거 보이시죠

파일 안보이면 mac 숨긴파일 보는 단축키 shift+command+. 를 해당 폴더에서 입력하면 됩니다.

리드미 파일 열어보면 이렇게 이전에 올린 코드를 잘 받아온 것이 확인됩니다.

vscode 로 돌아와서 리드미 파일 수정 후

git add REAME.txt

git commit -m "커밋메세지입력"

git push origin main

 

위와 같이 세개의 명령어를 입력해서 원격저장소에 푸쉬해줍니다.

그리고 저는 clone할 때 마침표를 안찍어서 폴더가 하나 더 생겼기 때문에

cd gitstudy 명령어 입력으로 해당폴더로 이동 후 위 명령어들을 실행해줬습니다.

이제 깃허브 원격저장소를 확인하면 이렇게 업데이트가 잘 된 것을 볼 수 있습니다.

 

📌 git pull_원격 저장소에 올린 새로운 커밋을 로컬 저장소에 가져오기

clone_test 폴더에 클론을 했잖아요

그 전에 맨처음 만들었던 git_study 폴더 있죠? 거기로 돌아가볼게요

 

보시면 원격저장소에 업데이트 된 내용이 업데이트 안되있죠?

누가 원격저장소에 코드를 올리면 내 로컬저장소에 자동으로 업데이트 되는 게 아니라는 말입니다.

 

그럼 이제 원격저장소 업데이트 내역을 여기로도 가져와볼게요

 

git pull origin 브랜치명

우리는 메인 브랜치 가져올거니까 git pull origin main 입력

입력하면 이렇게 원격저장소에 업데이트된 내용을 로컬저장소로 가져옵니다.

 


• Git: 버전 관리 시스템
• GitHub: Git으로 관리하는 프로젝트를 올려둘 수 있는 사이트입니다.

• GUI: 그래픽 유저 인터페이스로 마우스로 클릭해서 사용하는 방식입니다.
• CLI: 커맨드라인 인터페이스로 명령어를 하나씩 입력하는 방식입니다.

• commit (커밋) : 버전관리를 통해 생성된 파일, 행위
• log
(로그): 지금까지 만든 커밋 리스트 확인
• checkout
(체크아웃): 원하는 커밋지점으로 파일을 되돌릴 수 있습니다. (시간여행)
로컬 저장소: Git으로 버전 관리하는 내 컴퓨터 안의 폴더를 의미합니다.
원격 저장소: GitHub에서 협업히는 공간(폴더)를 의미합니다.
• repository
(레포지토리): 원격저장소를 의미합니다.
• push
(푸시): 로컬 저장소의 커밋(버전 관리한 파일)을 원격 저장소에 올리는 것입니다.

pull(): 원격 저장소의 커밋을 로컬 저장소에 내려받는 것입니다.