[Github] git 변경사항 되돌리기

Git을 이용해 형상관리를 하다 보면 수정사항을 롤백 하고 싶을 때가 자주 있습니다.
이 포스트에서는 이전 커밋까지 롤백 하는 방법에 대해서 알아봅니다.

git add 명령을 하기 이전의 수정사항 롤백

1
2
$ cd {respository_directory}
respository_directory $ checkout .

git add 명령어를 한 이후의 수정사항 롤백

1
$ git reset

git commit을 한 이후 롤백

  • 주의 아래의 명령어는 수정사항이 완전히 삭제됩니다
1
$ git reset --hard HEAD~

원격 저장소에 변경된 이력도 되돌리기

원격 저장소에 변경된 이력을 되돌리는 방법은 local 저장소의 새로운 변경사항으로 덮어쓰는것과 개념이 같습니다.

1
2
3
$ git reset HEAD~
$ git commit -m "commit message"
$ git push origin master

마치며

여러 롤백 케이스중에서 자주 사용할 수 있는 상황을 뽑아서 포스팅해봤습니다.
이외 더 자세한 롤백 방법은 아래의 사이트에 자세하게 나와있습니다.

https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Reset-%EB%AA%85%ED%99%95%ED%9E%88-%EC%95%8C%EA%B3%A0-%EA%B0%80%EA%B8%B0

중요한것은 롤백을 하기 전 어떻게 이력관리를 할것인지 한번 더 생각해 보는게 중요할 것 같습니다.