Git에서 로컬 커밋 삭제
이 문서에서는 로컬 커밋을 실행 취소하는 단계에 대해 설명합니다. Git에서 여러 커밋에 대한 단일 커밋을 삭제하는 방법을 살펴보겠습니다.
Git에서 로컬 커밋 삭제
로컬 리포지토리에서 최신 커밋을 삭제하여 작업을 시작하는 방법에 대해 논의할 것입니다.
우리는 일반적으로 저장소의 최신 변경 사항을 삭제하기 위해 git reset
명령을 사용합니다. 최신 커밋을 삭제하려면 아래 명령어를 사용하세요.
git reset --hard HEAD~1
HEAD~1
인수는 하나의 커밋을 삭제합니다.
아래와 같이 N-th
인수를 사용할 수 있습니다.
git reset --hard HEAD~N
리포지토리에서 마지막 5개의 커밋을 삭제하려면 N
을 값으로 바꿉니다.
아래 명령으로 특정 커밋을 삭제할 수 있습니다.
git reset --hard <sha1-commit-hash>
명령에서 위와 동등한 것을 사용하십시오.
커밋 히스토리 사이에 있는 커밋으로 인한 변경 사항을 취소하려면 git revert
명령을 사용하세요. 이 명령은 선택한 커밋에 의해 변경된 사항을 취소합니다.
git revert <sha1-commit-hash>
그러나 git revert
는 커밋을 삭제하지 않습니다. 대화형 형식으로 git rebase
를 사용합니다.
git rebase -i <sha1-commit-hash>
위의 명령을 실행하면 주변 커밋 목록이 있는 편집기가 표시됩니다. 시작 부분에 drop
을 입력하여 원하는 커밋을 삭제할 수 있습니다.
변경 사항을 원격 저장소에 푸시하려면 아래 명령을 실행하십시오.
git push --force-with-lease origin HEAD
위의 명령은 원격 저장소의 다른 개발자가 변경한 사항에 영향을 주지 않습니다. 원격 저장소의 다른 개발자가 변경한 모든 사항을 덮어쓰는 git push origin HEAD --force
명령에 대한 더 안전한 옵션입니다.
로컬 변경 사항을 원격 저장소의 현재 상태로 되돌리려면 아래 명령을 실행하십시오.
git reset --hard origin/<branch_name>
git reflog
명령으로 삭제된 커밋을 찾을 수 있습니다.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn관련 문장 - Git Reset
- Git RM --Cached와 Git 재설정 파일의 차이점
- Git 재설정, 되돌리기 및 체크아웃 명령의 차이점
- 개발 분기를 마스터 분기와 동일하게 만들기
- 로컬 Git 변경 사항을 제거하는 데 사용되는 다양한 방법
- 충돌이 있는 Git 병합 되돌리기
- --hard 플래그로 Git 재설정 실행 취소