힘내 되돌리기 커밋 로컬

Abdul Jabbar 2023년6월20일
  1. git reset을 사용하여 커밋 변경 취소
  2. git revert를 사용하여 커밋 변경 취소
힘내 되돌리기 커밋 로컬

소프트웨어 엔지니어나 웹 개발자가 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 Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

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

관련 문장 - Git Revert