Git에서 특정 Commit 상태로 돌아가기

Eu4ng·2022년 12월 26일

전체 초기화

코딩 작업을 진행하다보면 차라리 처음부터 다시 만드는게 낫다는 생각이 드는 경우가 있다. 이때 그냥 무식하게 파일들을 전부 삭제해버린 다음에 git clone으로 원본을 다시 가져오는 방법도 가능은 하지만 다음 두 가지 명령어로 동일한 효과를 볼 수 있다.

git reset --hard
git clean -f
  • git reset --hard 는 추적(track) 중인 파일들을 되돌린다
  • 추적 중이지 않은 파일들은 git clean -f 로 마저 삭제해주어야 한다.
  • 전체 초기화 작업 후, git status 로 다시 확인하였을 때 아래와 같은 결과가 나와야한다.
git status
On branch develop
Your branch is up to date with 'origin/develop'.

nothing to commit, working tree clean

원인은 아직 모르겠지만 어떤 파일들은 git clean -f 로 완벽하게 지워지지 않는 현상을 발견하였다. 이 경우에는 git add 로 추적 상태로 설정한 뒤, git reset 을 다시 진행하면 된다.

git add .
git reset --hard

특정 파일만 초기화

특정 파일만 특정 Commit 상태로 되돌리고 싶을 땐 다음 명령어를 사용하면 된다.
이 역시, 추적 중인 파일들에서만 사용 가능하다.

git checkout 커밋아이디 -- 파일명.확장명

# ex)
# git checkout HEAD -- README.md
# git checkout 8f4589e1e0bbd7613d4f0be78d10f8ed17e2890d -- README.md
profile
초보 개발자

0개의 댓글