git에서 로컬 변경 사항을 모두 무시하고 main 브랜치를 기준으로 최신 상태로 되돌리고 싶을 때는 몇 가지 명령을 사용할 수 있습니다. 이를 통해 로컬에서 작업한 변경 사항을 모두 삭제하고 원격 저장소의 최신 main 브랜치를 받을 수 있습니다.

다음은 로컬 변경 사항을 무시하고 main 브랜치로 되돌리는 방법입니다.

1. 로컬 변경 사항을 무시하고 main 브랜치로 되돌리기

  1. 로컬 변경 사항을 완전히 무시하고 되돌리기:
    • 아직 커밋하지 않은 변경 사항을 모두 무시하고, 현재 브랜치를 main 브랜치의 최신 커밋으로 되돌리려면 다음 명령어를 사용할 수 있습니다:
    git fetch origin   # 원격 저장소에서 최신 정보를 가져옴
    git reset --hard origin/main   # 현재 브랜치를 main의 최신 커밋으로 강제 동기화
    이 명령어는 로컬에서 아직 커밋되지 않은 변경 사항을 완전히 무시하고, main 브랜치의 최신 상태로 강제적으로 되돌립니다. 주의: 이 작업은 로컬 변경 사항을 완전히 삭제하므로 복구할 수 없습니다.
  2. 로컬에서 수정한 파일을 스테이징이나 커밋하지 않고 되돌리기:
    • 커밋되지 않은 로컬 변경 사항만 되돌리고 싶다면 다음 명령어를 사용합니다.
    git reset --hard
    이 명령어는 현재 브랜치에서 작업한 모든 변경 사항을 무시하고, 원래 커밋된 상태로 되돌립니다.

2. main 브랜치의 최신 내용으로 다시 받기

  1. 원격 main 브랜치로 되돌리기:
    • 로컬 변경 사항을 무시한 후, 원격 main 브랜치의 최신 내용을 가져오려면:
    git checkout main        # main 브랜치로 이동
    git fetch origin         # 원격 저장소의 최신 내용 가져오기
    git reset --hard origin/main   # 로컬 main 브랜치를 원격 main 브랜치와 동기화
    이 명령어는 main 브랜치의 최신 내용을 가져와, 로컬에서 작업한 변경 사항을 완전히 무시하고 최신 상태로 유지하게 됩니다.

요약

  • 로컬 변경 사항을 무시하고 main 브랜치로 되돌리기:
    git reset --hard origin/main
  • 변경 사항을 무시하고 main의 최신 내용 받기:
    git checkout main
    git fetch origin
    git reset --hard origin/main

이 명령어들은 로컬에서 발생한 모든 변경 사항을 삭제하고, 원격 저장소의 최신 main 브랜치 상태로 다시 동기화하는 안전한 방법입니다.

반응형

+ Recent posts