I_TStory/GIT

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

귤치 2024. 7. 23. 19:05

지난 챕터에서 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(): 원격 저장소의 커밋을 로컬 저장소에 내려받는 것입니다.