1인칭 학습 시점_웹개발/GITHUB

[GIT] Git 원격 저장소와의 동기화: clone, push, fetch, pull 개념 정리

awesong 2024. 8. 14. 16:26
728x90
반응형

Git 사용하여 협업하거나 GitHub 코드를 올리고 받아오는 과정에서 가장 자주 사용하는 명령어가 clone, push, fetch, pull입니다.
글에서는 명령어가 의미하는 바와 상황에 따라 어떻게 사용하는지를 쉽게 정리해 보았습니다.

 

1. clone (클론)

clone 원격 저장소(repository) 그대로 로컬 컴퓨터에 복사해오는 작업을 말합니다. GitHub, GitLab 등에 있는 프로젝트를 처음 내려받을 사용하는 명령어입니다.

git clone 원격저장소URL

 

예시:

git clone https://github.com/username/project.git

 

명령어를 실행하면 프로젝트 폴더가 생성되고, 해당 저장소의 .git까지 포함된 완전한 로컬 저장소가 만들어집니다.

 

2. push (푸시)

push 로컬 저장소에서 작업한 변경 사항을 원격 저장소에 반영(업로드)하는 명령어입니다. commit으로 로컬에 저장한 내용을 원격 저장소에 보내야 다른 사람도 확인하고 협업이 가능합니다.

git push origin 브랜치이름

 

예시:

git push origin main

 

origin 원격 저장소의 기본 이름이며, main 푸시할 브랜치 이름입니다. 커밋을 하고 후에만 push 가능하며, 변경 사항을 공유할 반드시 사용합니다.

 

3. fetch (패치)

fetch 원격 저장소의 변경 사항을 로컬 저장소로 "가져오기만" 하는 명령어입니다. 아직 로컬 작업 내용과 병합하지 않고, 최신 원격 상태만 확인할 있습니다.

git fetch origin

 

fetch 원격 저장소의 상태를 확인하고, 내가 직접 병합할지 말지를 선택할 있는 여유를 제공합니다.

 

* fetch patch 발음이 유사하지만 전혀 다른 개념입니다. patch 소스코드의 버그 수정이나 소규모 기능 추가를 의미하는 일반 소프트웨어 용어이고, fetch Git에서 사용하는 버전 동기화 기능입니다.

 

4. pull ()

pull fetch merge 번에 처리하는 명령어입니다. , **원격 저장소의 변경 사항을 가져오고(fetched), 로컬 작업에 자동으로 병합(merged)**해주는 기능입니다.

git pull origin 브랜치이름

 

예시:

git pull origin main

 

협업할 다른 사람의 작업 내용을 바로 반영하고 싶을 주로 사용하며, 로컬에서 작업하기 번씩 실행하는 것이 좋습니다.

 

5. 네 가지 개념 요약

명령어 의미 주요 사용 시점
clone 원격 저장소를 컴퓨터로 복제 프로젝트 처음 시작
push 로컬 변경사항을 원격으로 업로드 commit 협업자와 공유할
fetch 원격 변경사항을 로컬로 가져오기만 병합 최신 정보 확인
pull fetch + merge 로컬과 원격을 즉시 동기화할

 

6. 마무리하며

Git에서 clone, push, fetch, pull 협업의 시작과 끝을 책임지는 핵심 명령어입니다. 개념들만 제대로 이해해도 GitHub 사용하는 대부분의 협업 상황에서 충분히 대응할 있습니다.

반응형