커밋 내역 확인
git log
지금까지 어떤 버전이 존재하는지 확인한다.
git revert
: 현재까지의 commit 기록을 유지하면서, 특정한 commit 이전으로 되돌리는 명령어
‼️주의해야할 점‼️: 되돌아가고 싶은 commit 이름을 적는게 아니라, 되돌리고 싶은 commit 이름을 적어야한다.
git revert [돌아갈 버전의 커밋번호]
커밋명에는 위 사진에 있는 노란색 글씨에 commit ~~
뒤에 있는 6자리 글자를 작성하면 된다.
위 명령어를 입력하면 아래처럼 표시된다. revert를 쓰면 버전을 되돌아가는 것도 하나의 commit 으로서 기록되기 때문에, 커밋 메세지를 써달라고 표시가 된 것이다.
만약 따로 수정하지 않고 기본으로 쓰고 싶다면, ESC 버튼 누른 후에 → :wq 라고 입력 -> 엔터
하면 된다.
그리고 파일은 원하는 파일로 되돌아간다.
git reset
: 특정 커밋으로 돌아가면서, 그 커밋 이후의 커밋 기록을 삭제하는 명령어
git reset은 다양한 옵션이 있다.
‼️주의해야할 점‼️: 되돌리고 싶은 commit 이 아니라, 되돌아가고 싶은 commit 을 명시
git reset --soft [커밋번호]
reset —soft 의 경우, 수정 사항 (이후의 커밋 내용) 에 대해서 그대로 두고, 기록만 삭제하는 것
(변경사항은 유지, staged 상태로 만듦)
git reset --hard [커밋번호]
reset --hard는 명시한 그 커밋 이후의 모든 수정사항들을 완전히 삭제하는 기능으로
—soft 로 했을 때와는 다르게, 바로 해당 커밋의 내용으로 파일이 되돌아간다.
(변경사항 없어짐)
git reset --mixed [커밋번호]
—soft 와 비슷한데, 이후 수정사항들을 commit 이전으로 되돌리는 것이 아니라, add 이전으로 되돌린다.
(변경사항은 유지, unstaged 상태로 만듦)
git reset [옵션] HEAD^
git reset [옵션] HEAD~[취소할 커밋 갯수]