git

git)로컬저장소를 원격저장소의 파일들로 강제로 덮어쓰기하는법(fetch,reset --hard)

backend dev 2022. 10. 9.

원격저장소의 내용을 로컬에 덮어쓰기하고싶을때가있다.

[EC2에서 우분투서버를 운영할때 원격저장소에 최신화된 Springboot 프로젝트를 맨처음 가져올때 사용했다.]

 

로컬저장소의 커밋기록들과 원격저장소의 커밋기록들이 다르면 

오류

다음과 같은 오류가 발생하는데 아예 원격저장소의 내용과 커밋기록을 따르고 싶을때 다음과 같이 수행한다.

 

1. git fetch origni(원격저장소연결할때 설정한 이름)     // git fetch --all 은 모든 원격저장소에 관한 변경사항을 가져온다.

2. git reset --hard origin/브런치명 // 해당 브런치의 최신커밋기록을 따라간다. -> 해당 브런치의 최신버전을 로컬에 적용한다.

 

 

주의할점

내 로컬파일과 원격저장소 파일을 비교해서 겹쳐지는 부분만 덮어쓰기하는게 아니라.

내 로컬파일을 전부 없애고 , 원격저장소의 파일을 전부 가져오는 느낌이다.

내 로컬파일들과 원격저장소 파일들을 비교해서 수정사항만 가져오고싶으면 pull을 해야할듯하다.

 

 

 

 

출처

 

 

Git - git-fetch Documentation

In general, URLs contain information about the transport protocol, the address of the remote server, and the path to the repository. Depending on the transport protocol, some of this information may be absent. Git supports ssh, git, http, and https protoco

git-scm.com

 

git fetch pull 사용법, fetch pull 차이점 알아보기

git 에서 변경사항 내용을 가져오고 병합하는 fetch,pull 에 대해서 알아보겠습니다 git fetch 원격저장소에 있는 변경사항들을 로컬저장소에 가져오기 전에 변경내용을 확인하고 싶은경우에 사용하

chaeyoung2.tistory.com

 

댓글