힘내 되돌리기 커밋 로컬
소프트웨어 엔지니어나 웹 개발자가 Git으로 작업할 때 매일 Git 리포지토리에 많은 코드와 커밋을 푸시하는 것은 당연하며, 이 작업을 수행하는 동안 특정 커밋 또는 커밋 집합을 실행 취소하거나 되돌려야 할 필요성이 발생합니다. 때때로 팀 환경에서.
이 블록에서는 커밋이 로컬 브랜치에 완료되면 Git 프로그램 및 명령을 실행 취소할 수 있는 가능성에 대해 알아봅니다.
이 문서는 우리가 만든 커밋의 상황과 아직 원격 브랜치와 동기화되지 않은 커밋을 되돌리기 위해 어떤 종류의 실행 취소를 할 수 있는지 이해하려고 시도합니다.
상황을 처리하기 전에 필요한지 확인하고 커밋 파일과 정보를 수정해야 합니다. 어떤 경우에는 커밋만 편집하기를 원하기 때문에 Git의 git amend
명령을 통해 수행할 수 있습니다.
그러나 명령을 실행 취소하려는 경우 이 가이드에서 이에 대해 알아볼 수 있습니다. 아래의 Git 명령을 사용하여 효과적으로 수행하는 방법을 알아보겠습니다.
git reset
을 사용하여 커밋 변경 취소
마지막 커밋을 실행 취소하려는 여러 상황이 있으며 문제를 해결하고 마지막 Git 커밋을 실행 취소하는 가장 간단한 방법은 --soft
플래그가 추가된 git reset
명령을 사용하는 것입니다. Git의 이 기능은 로컬 브랜치의 파일에 대한 변경 사항을 보존합니다.
이를 위해 실행 취소하려는 커밋, 즉 HEAD~1
을 지정해야 합니다. 여기서는 개발자가 마지막 커밋을 실행 취소해야 하는 것이 일반적이므로 마지막 커밋을 실행 취소하려고 합니다. 그러나 실행 취소하려는 모든 커밋을 언급할 수 있습니다.
이러한 경우 git reset
이 최선의 선택이며 명령은 아래에 나열되어 있습니다.
$ git reset --soft HEAD~1
재설정
옵션을 통해 현재 HEAD
분기가 지정된 개정으로 투영되고 최근 개정 이전의 커밋으로 반환됩니다. 이렇게 하면 마지막 커밋이 취소되고 변경 사항이 파일 수정 섹션에 자동으로 적용됩니다.
그리고 --soft
플래그의 도움으로 변경 사항이 파일 상태 섹션에 보존되고 손실되지 않습니다.
또한 변경 사항을 보존하지 않고 변경 사항이 더 이상 필요하지 않다고 확신하는 경우 --soft
플래그 대신 --hard
플래그를 사용합니다.
이렇게 하면 변경 사항이 영구적으로 취소되고 모든 내용이 손실됩니다. 변경 사항을 영구적으로 삭제하려면 다음 명령을 사용하십시오.
$ git reset --hard HEAD~1
git revert
를 사용하여 커밋 변경 취소
git revert
명령은 특히 지정된 커밋의 변경 사항을 되돌리는 데 도움이 되는 새 커밋을 개발하는 데 사용됩니다. 이 명령은 커밋을 삭제하지 않고 완전히 되돌리는 것으로 잘 알려져 있습니다.
커밋이 이미 원격 저장소로 푸시된 경우 커밋 기록을 덮어쓰지 않으므로 git revert
를 사용하는 것이 가장 안전하고 안전한 옵션입니다.
마지막 커밋을 되돌리는 명령은 다음과 같습니다.
git revert <commit to revert>
커밋의 이름은 되돌리려는 커밋 ID
입니다. Git의 명령인 git log
를 통해 복구할 수 있습니다. 대부분의 개발자는 동일한 실행 취소 작업을 진행하는 새 명령의 도움으로 변경 사항을 실행 취소하기 때문에 git reset
보다 git revert
를 선호합니다.
이전 커밋을 버리거나 덮어쓰지 않습니다. 재설정
은 호소력이 없는 커밋의 모든 레코드를 삭제하고 커밋 기록도 변경합니다.
이제 귀하의 경우에 가장 적합한 명령은 귀하에게 달려 있습니다.
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn