마지막 Git 커밋을 실행 취소하는 방법

마지막 Git 커밋을 취소하는 것은 변경 사항을 되돌리거나 실수를 수정해야 하는 개발자에게 일반적인 작업입니다. Git은 가장 최근 커밋을 실행 취소하는 여러 가지 방법을 제공하므로 깨끗하고 정확한 프로젝트 기록을 유지할 수 있습니다. 이러한 방법에는 커밋 재설정, 되돌리기 또는 수정이 포함되며, 각 방법은 변경 사항을 보존할지 아니면 삭제할지 여부에 따라 서로 다른 용도로 사용됩니다.

이 가이드에서는 실제 예제를 사용하여 마지막 Git 커밋을 실행 취소하는 방법을 보여줍니다. 이러한 기술을 익히면 Git 기록을 효율적으로 관리하고 프로젝트를 잘 정리되고 오류 없이 유지할 수 있습니다.

Git 커밋 이해

Git 커밋을 실행 취소하는 방법을 알아보기 전에 Git에서 커밋이 무엇을 의미하는지 이해하는 것이 중요합니다. 커밋은 특정 순간의 작업 스냅샷을 나타냅니다. 이는 마지막 커밋 이후 수정한 모든 내용을 캡슐화합니다. 각 커밋은 SHA-1 해시로 고유하게 식별되므로 Git이 변경 내역을 유지할 수 있습니다.

Git 커밋 되돌리기

Git 커밋을 되돌리는 두 가지 주요 기술은 git Reset과 git revert입니다. 사용 사례와 의미를 포함하여 각 방법을 자세히 논의하겠습니다.

git reset --soft HEAD~1

자식 재설정 사용

git Reset 명령은 현재 HEAD를 지정된 상태로 이동하거나 "재설정"할 수 있는 강력한 도구입니다. 마지막 커밋을 실행 취소하는 방법은 다음과 같습니다.

git reset --soft HEAD~1

이 명령에서 –soft는 변경 사항이 스테이징 영역에 보존되도록 하고 HEAD~1은 현재 커밋 이전의 커밋을 참조합니다. 실행 취소된 커밋의 변경 사항은 작업 디렉터리와 준비 영역에 유지됩니다.

다음은 출력 예입니다.

Unstaged changes after reset:
M    file1.txt
M    file2.txt

이는 file1.txt 및 file2.txt의 변경 사항이 이제 unstaged되었음을 나타냅니다.

커밋 및 관련된 모든 변경 사항을 완전히 삭제하려면 –hard 옵션을 사용할 수 있습니다.

git reset --hard HEAD~1

이 명령은 마지막 커밋의 모든 변경 사항을 영구적으로 삭제하므로 주의하세요.

git revert 활용하기

git revert 명령은 이전 커밋의 변경 사항을 취소하는 새 커밋을 생성합니다. 이는 기존 커밋 기록을 변경하지 않으므로 변경 사항을 실행 취소하는 안전한 방법입니다. 사용 방법은 다음과 같습니다.

git revert HEAD

이 명령은 마지막 커밋에서 변경된 내용을 취소하는 새 커밋을 생성합니다.

다음은 출력 예입니다.

[master 0a9b2aa] Revert "Add new feature"
 1 file changed, 1 insertion(+), 2 deletions(-)

이는 이전 커밋의 변경 사항을 되돌리는 새 커밋이 생성되었음을 나타냅니다.

Git 커밋 실행 취소: 확장된 예

git 재설정 사용: 추가 예

특정 커밋으로 재설정

마지막 커밋뿐만 아니라 여러 커밋을 실행 취소하려면 다음 대신 커밋 해시를 지정하면 됩니다. HEAD~1. 예를 들어:

git reset --soft 9fceb02

이 명령은 HEAD를 해시 9fceb02에 지정된 커밋으로 이동하고 9fceb02 이후의 모든 커밋의 변경 사항은 준비 영역에 유지됩니다.

단계적이지 않은 변경사항 재설정

변경사항을 적용했지만 아직 커밋하지 않았고 이러한 변경 내용을 취소하고 싶다면 커밋 참조 없이 git Reset을 사용할 수 있습니다.

git reset --hard

이 명령은 준비되지 않은 모든 변경 사항을 실행 취소하여 작업 디렉터리를 마지막 커밋 상태로 되돌립니다.

git revert 사용: 추가 예

커밋 범위 되돌리기

커밋 범위를 실행 취소하려면 git revert 명령을 사용하여 범위를 지정할 수 있습니다. 예를 들어:

git revert HEAD~3..HEAD

이 명령은 마지막 세 개의 커밋에서 변경된 내용을 취소하는 새 커밋을 생성합니다.

특정 커밋 되돌리기

가장 최근 커밋이 아닌 특정 커밋을 실행 취소하려면 커밋 해시를 지정하면 됩니다.

git revert 9fceb02

이 명령은 해시로 지정된 커밋의 변경 사항을 취소하는 새 커밋을 생성합니다. 9fceb02.

결론

Git은 강력한 도구이며 초보자에게는 그 복잡성이 어려울 수 있습니다. 그러나 커밋을 취소하는 방법을 명확하게 이해하면 Git을 자신 있게 탐색할 수 있습니다. git Reset 또는 git revert 사용 여부는 특정 요구 사항과 각 명령의 의미에 따라 다릅니다. Git을 마스터하는 열쇠는 연습과 탐구라는 것을 기억하세요.

Joshua James
카테고리 Git

코멘트를 남겨주세요