Git의 기초 2.5 — 리모트 저장소
2025. 12. 15. 12:38ㆍGit/Git 기초
핵심 개념
- 팀 또는 외부와 협업할 때 사용하는 인터넷/네트워크 상의 저장소를
리모트 저장소(Remote Repository) 라고 한다. - 로컬 저장소에서 작업한 내용을
Push(업로드) 하고,
원격의 변경사항을 Pull / Fetch(가져오기) 하며 관리한다.
출처
👉 https://git-scm.com/book/ko/v2/Git의-기초-리모트-저장소
1️⃣ 리모트 저장소란 무엇인가
- 리모트 저장소는 물리적으로 멀리 있는 서버(GitHub 등)일 수도 있고,
같은 컴퓨터의 다른 디렉토리일 수도 있다. - 하나의 프로젝트에 여러 개의 리모트 저장소를 설정할 수 있다.
- 리모트 저장소는 권한에 따라
- 읽기 전용(Read only)
- 읽기 / 쓰기(Read & Write)
로 나뉜다.
협업의 기본 흐름
로컬에서 작업
→ git push (리모트에 업로드)
→ 다른 사람이 git pull / git fetch
→ 병합 후 다시 작업
2️⃣ 리모트 저장소 등록 상태 확인
현재 프로젝트에 등록된 리모트 저장소의 이름(단축 이름) 을 확인한다.
git remote
보통 기본 리모트 이름은 origin 이다.
리모트의 URL까지 함께 확인하려면:
git remote -v
출력 예시:
origin https://github.com/user/repo.git (fetch)
origin https://github.com/user/repo.git (push)
리모트가 여러 개라면 다음과 같이 표시된다.
origin URL1 (fetch)
origin URL1 (push)
upstream URL2 (fetch)
upstream URL2 (push)
- origin : 내가 작업하는 메인 원격 저장소
- upstream : 원본 저장소(포크한 경우 자주 사용)
3️⃣ 리모트 저장소 추가
로컬 저장소에 새로운 리모트 저장소를 등록할 때 사용한다.
git remote add <리모트이름> <URL>
예시:
git remote add origin https://github.com/paulboone/ticgit
등록 후 다시 확인:
git remote -v
👉 새 리모트가 정상적으로 추가되었는지 반드시 확인하는 습관을 들이자.
4️⃣ 원격 저장소에서 데이터 가져오기 & 반영하기
🔹 Fetch — 가져오기만 (자동 병합 ❌)
git fetch <리모트이름>
- 원격 저장소의 변경사항을 로컬로만 가져온다
- 내 작업 브랜치에는 아무 영향도 주지 않는다
- 안전하게 변경사항을 먼저 확인하고 싶을 때 사용
🔹 Pull — 가져오기 + 병합 (자동 병합 ⭕)
git pull <리모트이름> <브랜치>
- fetch + merge 를 한 번에 수행
- 원격 변경사항을 바로 현재 브랜치에 반영
🔹 Push — 로컬 변경사항을 원격에 업로드
git push -u <리모트이름> <브랜치>
예시:
git push -u origin main
- 처음 Push 할 때만 -u 옵션 사용
- 이후에는 아래처럼 간단히 사용 가능:
git push
-u 옵션의 의미
- 현재 로컬 브랜치와 원격 브랜치를 연결(upstream 설정) 한다.
- 한 번 설정하면 이후 git push, git pull 시
자동으로 해당 브랜치를 기준으로 동작한다.
⚠️ 주의 사항
- 다른 사람이 이미 Push한 변경사항이 있다면
반드시 먼저 Pull / Merge 후 Push 해야 충돌을 피할 수 있다. - 새 브랜치를 처음 원격에 올릴 때는
브랜치 이름을 반드시 명시해야 한다.
git push origin 브랜치이름
5️⃣ 리모트 저장소 정보 보기
리모트 저장소의 상세 정보를 확인할 때 사용한다.
git remote show <리모트이름>
출력 예시:
* remote origin
Fetch URL: https://github.com/my-org/complex-project
Push URL: https://github.com/my-org/complex-project
HEAD branch: master
Remote branches:
master tracked
dev-branch tracked
Local branch configured for 'git pull':
master merges with remote master
Local refs configured for 'git push':
master pushes to master (up to date)
이 정보를 통해 다음을 확인할 수 있다.
- 로컬 브랜치 ↔ 원격 브랜치 연결 관계
- 어떤 브랜치가 추적(tracking) 중인지
- 기본 Pull / Push 대상 브랜치
✅ 요약 정리
📘 참고 자료
- Git 공식 문서 — 리모트 저장소
https://git-scm.com/book/ko/v2/Git의-기초-리모트-저장소
'Git > Git 기초' 카테고리의 다른 글
| GIT의 기초 실습 (0) | 2025.12.15 |
|---|---|
| GIT의 master와 main 차이 (0) | 2025.12.15 |
| Git의 기초 — 수정하고 저장소에 저장하기 (0) | 2025.12.15 |
| GIT 저장소 만들기 (0) | 2025.12.15 |
| Remote Repository(GitHub)를 Local Host PC에 add 하는 방법 (0) | 2025.05.08 |