커밋 롤백
Git에서 실수를 한 경우 변경 내용을 되돌리거나 롤백할 수 있습니다. 자세한 내용은 실행 취소 옵션을 참조하십시오.
커밋을 제거하여 실행 취소
- 
마지막 커밋을 실행 취소하고 모든 것을 스테이징 영역으로 되돌립니다:
git reset --soft HEAD^ - 
파일을 추가하고 커밋 메시지를 변경합니다:
git commit --amend -m "새 메시지" - 
마지막 변경 사항을 실행 취소하고 다른 모든 변경 사항을 제거합니다(아직 푸시하지 않은 경우):
git reset --hard HEAD^ - 
마지막 변경 사항을 실행 취소하고 마지막 두 개의 커밋을 제거합니다(아직 푸시하지 않은 경우):
git reset --hard HEAD^^ 
Git 리셋 샘플 작업 흐름
다음은 일반적인 Git 리셋 작업 흐름입니다:
- 파일을 편집합니다.
 - 
브랜치의 상태를 확인합니다:
git status - 
잘못된 커밋 메시지로 변경 사항을 브랜치에 커밋합니다:
git commit -am "kjkfjkg" - 
Git 로그를 확인합니다:
git log - 
올바른 커밋 메시지로 커밋을 수정합니다:
git commit --amend -m "새로운 코멘트 추가" - 
다시 Git 로그를 확인합니다:
git log - 
브랜치를 소프트 리셋합니다:
git reset --soft HEAD^ - 
다시 Git 로그를 확인합니다:
git log - 
원격 저장소에서 브랜치의 업데이트를 가져옵니다:
git pull origin <branch> - 브랜치의 변경 사항을 원격 저장소로 푸시합니다:
 
   git push origin <branch>
새로운 대체 커밋으로 커밋 롤백
git revert <커밋-SHA>
git revert와 git reset의 차이
- 
git reset명령은 커밋을 제거합니다.git revert명령은 변경 사항을 제거하지만 커밋은 유지합니다. - 
git revert명령은 안전하며, 되돌릴 수 있습니다. 
# 변경된 파일
git commit -am "버그 도입"
git revert HEAD
# 변경을 되돌리는 새로운 커밋이 생성됨
# 이제 우리는 되돌린 커밋을 다시 적용하려고 합니다
git log # 되돌린 커밋의 해시를 가져옴
git revert <revert 커밋 해시>
# 되돌린 커밋이 다시 생성됨 (다시 새로운 커밋이 생성됨)
도움말