origin
Git에서 원격 저장소(remote repository) 는 GitHub 같은 클라우드 기반 저장소를 말한다.
보통 로컬 저장소와 연결되는 첫 번째 원격 저장소 이름은 기본적으로 origin 이다.
예를 들면,
git clone https://github.com/myname/myrepo.git
이렇게 클론을 했을 때, 자동으로 remote (원격 저장소) 이름은 origin으로 설정된다.
origin은 그냥 별명이기 때문에, git remote rename origin banana 같은 명령어로 banana로 이름을 바꿔도 된다.
하지만 git clone을 하지 않고 직접 내 로컬과 원격 저장소에 연결시키고 싶을 때는, git remote add origin을 하면 된다:
git remote add origin https://github.com/yourname/yourrepo.git
여기서 더 정확히 말하자면
- 다른 사람이 만든 github repo를 쓰려는 경우: git clone
- 내 로컬에서 프로젝트 시작해서 github에 올리고 싶을 경우: git init -> git remote add origin
확인 하고 싶을 때:
# 원격 저장소가 설정되어 있는지 확인
git remote -v
# 예시 결과
origin https://github.com/yourname/yourrepo.git (fetch)
origin https://github.com/yourname/yourrepo.git (push)
원격 저장소에서 최신 내용 가져오기
Git을 쓰다보면 원격 저장소에 있는 내용을 가져와야 할때가 많은데, 그럴 때는 git fetch와 git pull을 많이 사용한다.
일단 두 명령어의 공통점은:
- 둘다 원격 저장소에서 최신 내용을 불러옴
- 둘 다 origin이 설정되어야 함
하지만 두 명령어가 헷갈릴 수 있기 때문에 fetch와 pull의 차이점을 알아보겠다.
git fetch
이 명령어는 먼저 origin/main을 최신 상태로 갱신시켜서 원격 저장소에 변경사항을 가져온다 (현재 내 작업 디렉토리에는 적용이 안된다).
가져온 내용은 직접 git log origin/main같은 명령으로 비교하거나 확인을 해야한다.
주로 안전하고 신중하게 병합하고 싶을 때 사용하는 것을 권장한다.
git fetch
git diff origin/main # 원격 저장소의 main 브랜치와 내 브랜치 비교
git merge origin/main # 원격 변경사항을 내 브랜치에 병합
git pull
이 명령어는 그냥 git fetch + get merge이다. 두 가지를 한꺼번에 수행하는 것이다.
더 자세하게 말하자면 origin/main도 갱신하고, 그걸 내 현재 브랜치에 자동으로 병합까지 한다.
협업 중 누군가가 커밋한 내용을 바로 내 코드에 반영하고 싶을 때 유용하다.
git pull origin main
'Git' 카테고리의 다른 글
| [git] merge VS rebase (1) | 2025.05.27 |
|---|---|
| [github] fork, upstream & pull request 간단히 이해하기 (4) | 2025.05.24 |
| [git] git workflow, git status & diff 정리 (1) | 2025.05.23 |
| [git] Local congifuration 정리 (0) | 2025.05.23 |