Git에서 로컬 커밋 삭제

John Wachira 2024년2월15일
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 Wachira
John Wachira avatar John Wachira avatar

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 Revert