본문 바로가기
개발 공부/Git

[GIT] 깃 최근 커밋 삭제 방(소스트리 적용 안될시 로컬, 원격저장소)

by momo'sdad 2024. 9. 13.

 

최근 커밋 삭제 방법

코드를 작성하고 필요없는 파일이나 실수로 커밋을 해버렸거나 소스트리에서 커밋을 했을 경우 커밋을 되돌리거나 삭제하려고 시도를 한 경우가 있을 것이다. Revert를 했는데도 내가 원하는 파일이 삭제되지 않을 경우 PUSH를 하기 전이라면 터미널에서 다음과 같이 따라하면 최근 커밋들을 삭제하여 커밋 전으로 돌릴 수 있다.

 

 

1. Git log 확인

=> git log 명령어를 터미널에 입력

 

  • 결과화면

 

 

 → 123 이라는 이름의 Task를 커밋만 하고 Push를 안한 상태 일때 git log를 입력하면 위에서 부터 차례로 최근순으로 커밋이 나열된다. 123으로 커밋된 Task를 삭제해보자.

 

 

2. 최근 커밋 삭제

=> git reset HEAD^ 명령어를 터미널에 입력 

 

ex)

git reset HEAD^  :   최근 커밋 1개 삭제    

git reset HEAD^ ~ 삭제 개수  :   최근부터 삭제할 개수

 

  • 결과화면

 → 명령어를 입력하면 최근 1개인 123 커밋이 삭제된다.

 

 

=> git log 명령어를 터미널에 입력하여 log를 확인

 

 → git log를 입력하여 log를 보면 123이 삭제되었고, 소스트리의 History를 보면 123 커밋이 삭제되지 않았지만 커밋 버튼의 1이 생긴 것을 볼 수 있다.

 

 

3. 커밋 기록 반영

=> git push -f 명령어를 터미널에 입력하여 원격저장소에 커밋 기록을 반영한다.  

-f: 강제로 명령어를 실행

 

  • 결과화면

 

 → Push 버튼의 1이 사라지고, 소스트리의 History에서 123의 커밋도 사라진 것을 볼수 있다. 이로써 커밋하기 전으로 돌아갔다.

 


※ 소스트리에서 History의 상태가 바뀌지 않았을 경우 패치를 눌러 History 상태를 새로고침 한다.

반응형