3. Git 원격 저장소(push,fetch,push)

최강일·2022년 12월 2일
0

Git

목록 보기
4/8

목차

  • pull
  • fetch
  • push
  • clone

원격 저장소

pull(가져와서 병합하기)

local을 최신 remote 상태로 변경하려는 것을 pull이라고 한다.
원격 저장소의 변경된 commit 내용을 가져와 병합된다.

[명령어]

  • git pull

[간단한 케이스]
remote에서 변경이 일어난 경우다.
origin/master는 원격 저장소를 뜻한다.


[복잡한 케이스] remote뿐만 아니라 local에서도 변경이 일어난 경우다. 양쪽 변경을 통합할 필요가 있다. 이런 경우는 `자동 병합 커밋`이 만들어지거나, 충돌을 발생시킬 수 있다. -> merge 작업이 필요하다.

fetch(가져오기)

pull을 실행하면, 내용을 가져와서 병합을 자동으로 실행한다.
그러나 단순히 원격 저장소의 내용을 확인만 하고 로컬 데이터와 병합은 하고 싶지 않은 경우에는 fetch 명령어를 사용한다.

fetch를 실행하면, 원격 저장소의 최신 이력을 확인할 수 있다. 이 때 가져온 최신 커밋 이력은 이름 없는 브랜치로 로컬에 가져오게 된다. 이 브랜치는 FETCH_HEAD의 이름으로 체크아웃 할 수도 있다.

[명령어]

  • git fetch

[예제]

예를들어, local과 remote에 B에서 진행된 커밋이 있는 상태에서 fetch를 수행하면 아래처럼 이력이 남는다.
이 상태에서 원격 저장소의 내용을 로컬 저장소의 'master'에 통합하고 싶은 경우에는, FETCH_HEAD브랜치를 merge하거나 다시 pull을 실행하면 된다.

push(밀어넣기)

변경사항을 local에서 remote로 업로드하는 것을 push라고 한다.
push를 실행하면, local과 remote가 동일한 상태가 된다.

[명령어]

  • git push

Clone

local 저장소를 remote에 그대로 복제해와서 설정하는 작업이다.
commit 이력도 함께 로컬로 복제된다.

clone은 원격 저장소 자체를 복제 해오는것이다. pull과 다른 명령어이다.

[명령어]

  • git clone <저장소 url>

Summary

작업 후 로컬 <-> 리모트 간 소스코드를 관리하는 내용이다.

  • pull : 가져와서 병합하기
  • fetch : 가져오기
  • push : 밀어넣기
  • clone : repository 복제
profile
Search & Backend Engineer

0개의 댓글