dev/GIT

git commit reset

tiqndjd12 2023. 6. 14. 13:58

로컬 저장소에 commit을 잘못해서 삭제해야 하는  경우

 

reset을 사용하면 됩니다.
 
reset은 기존 commit 이력을 지우는 것입니다.

 
삭제하려는 "Test Class commit2" 메시지의 commit과 코드입니다.
 

 
"Test Class commit2"라는 commit을 취소하려면 그 이전의 commit을 선택하고 Reset을 클릭합니다.
 
여기서 reset 옵션에 대해 설명드리면
 
Soft: commit을 삭제하고 이력에서 제거하지만, 작업 트리와 인덱스는 제거하지 않음
Mixed: commit을 삭제하고 이력에서 제거하고 인덱스는 제거하지만, 작업 트리는 변경하지 않음
Hard: commit을 삭제하고 이력에서 제거하고 인덱스와 작업트리의 변경 내역까지 모두 제거

cf) 작업트리: 프로젝트 파일과 디렉토리, 인덱스: 작업트리와 저장소 사이의 stage 영역


필요에 맞는 옵션 선택하면 되는데 저는 Hard를 선택했습니다.
 

 
알림 팝업에서 reset 버튼을 클릭합니다.
 

 
commit과 코드가 삭제된 것을 확인할 수 있습니다.
 
기존 commit이 잘못된 경우 reset을 사용하면 유용합니다.