관리 메뉴

지나가는 이야기

[Git] git commit 삭제 방법 | 깃 커밋 삭제 방법 본문

이것저것

[Git] git commit 삭제 방법 | 깃 커밋 삭제 방법

지나가는 이야기 2024. 10. 14. 12:48
728x90
반응형

 

 

 

git을 사용하다 보면 실수 등을 통해 만들어진 커밋 또는 커밋된 전체를 삭제가 필요할 때가 있다. git의 경우 파일을 삭제을 해도 다시 복구를 할 수 있기 때문에 특정 커밋을 삭제하거나 전체를 삭제해야 한다. 이번 글의 경우 커밋을 삭제하는 방법으로 전체를 삭제하는 방법, 최신 커밋 삭제 방법 이렇게 2가지를 설명한다.

 

# 전체 삭제 방법

전체 삭제하는 방법은 브랜치를 생성하여 삭제하는 방법이다.

 

$ git checkout --orphan temp_branch		# temp_branch 브랜치 생성
$ git add -A					# 전체 파일 add
$ git commit -m "Initial commit"		# 커밋
$ git branch -D main				# 기존 브랜치(main) 삭제
$ git branch -m main				# 현재 브랜치(temp_branch) 이름 변경
$ git push origin main --force			# 강제 푸시

위  사진과 같이 명령어를 실행하여 브랜치를 새로 만들고 삭제하게 되면 새로 만들게 된 브랜치의 경우 커밋 기록이 없어 새롭게 할 수 있다.

 

 

 

 

# 최신 커밋 삭제 방법

최신 커밋 삭제의 경우 전체삭제와 다르게 간단한 편이며, 변경 사항을 유지할지 아니면 변경사항을 삭제할지에 따라 다르다.

 

$ git reset --hard HEAD~3	# 방법1. 최신 3개 이전의 커밋 삭제(변경 사항 삭제)
$ git reset --soft HEAD~3	# 방법2. 최신 3개 이전의 커밋 삭제(변경 사항 유지)
$ git push origin main --force	# 강제 푸시

위 명령어와 같이 삭제하는 방법은 2개 있다.

--hard 옵션을 주게 되면 현재 상태의 변경 사항이 삭제가 된다. 즉 완전히 이전 커밋 상태도 되돌아가는 것이며,

-- soft 옵션의  경우 변경 사항 유지로 현재 상태를 그대로 유지하면서 원하는 개수만큼 커밋을 삭제할 수 있다.

 

 

 

728x90
반응형
Comments