로컬에서 변경된 파일들을 무시하고 원격 저장소의 main 브랜치를 강제로 받아와야 할 때가 있습니다. 이때, 원격 브랜치의 상태로 로컬 브랜치를 덮어쓰는 방법에 대해 설명드리겠습니다.

1. 명령어 실행하기

로컬 변경 사항을 완전히 무시하고 원격 main 브랜치를 강제로 덮어쓰려면 다음 명령어를 터미널에 입력합니다:

git fetch origin
git reset --hard origin/main

명령어 설명

  • git fetch origin: 원격 저장소의 최신 커밋 정보를 가져옵니다. 이 명령어는 단순히 원격 저장소에서 데이터를 로컬로 가져오는 역할을 합니다.
  • git reset --hard origin/main: 현재 로컬 작업 디렉토리를 원격 main 브랜치의 상태로 덮어씁니다. 이때 로컬에서 작업한 모든 변경 사항은 삭제되며, 원격 브랜치 상태로 되돌아갑니다.

2. 브랜치 이름이 다를 경우

만약 사용 중인 브랜치 이름이 main이 아니라 master 또는 다른 브랜치라면, 명령어에서 해당 브랜치 이름을 바꾸어 사용해야 합니다. 예를 들어, master 브랜치의 상태로 덮어쓰려면 다음과 같이 변경합니다:

git fetch origin
git reset --hard origin/master

3. 중요한 주의 사항

이 명령어는 로컬에서 작업한 변경 사항을 완전히 삭제합니다. 만약 변경 사항을 잃고 싶지 않다면, 미리 백업을 하거나 다른 브랜치에 임시로 저장해두는 것이 좋습니다.

로컬에서 변경한 내용을 백업하는 방법:

git stash

이 명령어를 통해 변경 사항을 임시로 저장할 수 있습니다.

결론

git fetchgit reset --hard 명령어는 로컬에서 변경한 내용을 무시하고 원격 저장소의 상태로 돌아가고 싶을 때 매우 유용합니다. 하지만 로컬 변경 사항이 모두 사라지므로, 중요한 파일이나 변경 내용이 있다면 꼭 백업해두는 습관을 들이세요.

반응형

+ Recent posts