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

Eu4ng·2022년 12월 26일
0

전체 초기화

코딩 작업을 진행하다보면 차라리 처음부터 다시 만드는게 낫다는 생각이 드는 경우가 있다. 이때 그냥 무식하게 파일들을 전부 삭제해버린 다음에 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개의 댓글