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

웹 개발자 또는 소프트웨어 엔지니어 인 경우 Git에 많은 커밋을 푸시 할 가능성이 큽니다. 저장소 매일.

그러나 어떤 경우에는 Git 저장소로 푸시하면 안되는 일부 파일을 커밋했습니다.

때로는 커밋을 실행하기 전에 추가 변경을 수행해야 할 수도 있습니다. .

결과적으로 Git 저장소에서 마지막 커밋을 실행 취소해야합니다.

이 자습서에서는 마지막 커밋을 쉽게 취소 할 수있는 방법을 살펴 보겠습니다. 나중에 변경 사항을 다시 커밋합니다.

목차

재설정으로 마지막 Git 커밋 실행 취소

마지막 Git 커밋을 실행 취소하는 가장 쉬운 방법은 “-soft”옵션과 함께 “git reset”명령을 실행하여 파일의 변경 사항을 보존하는 것입니다. 이 경우 실행 취소 할 커밋을 “HEAD ~ 1″로 지정해야합니다.

마지막 커밋은 Git 기록에서 제거됩니다.

이 표기법에 익숙하지 않은 경우 “HEAD ~ 1″은 로그 기록에서 HEAD (마지막 커밋)를 하나의 커밋으로 재설정하려는 것을 의미합니다.

그러면이 명령의 영향은 무엇입니까?

“git reset”명령은 기본적으로 파일을 추가하는 “git add”명령과 반대되는 것으로 볼 수 있습니다. Git 색인에 추가합니다.

“– soft”옵션을 지정하면 Git은 작업 디렉토리 또는 색인의 파일을 전혀 수정하지 않도록 지시합니다.

예시 , 가장 최근 커밋에 두 개의 파일을 추가했지만이 파일에 대해 일부 수정을 수행하고 싶다고 가정 해 보겠습니다.

결과적으로 “–soft”옵션과 함께 “git reset”을 사용합니다. 마지막 커밋을 실행 취소하고 추가 수정을 수행합니다.

보시다시피 마지막 커밋을 실행 취소하면 파일이 여전히 색인에 있지만 (커밋 할 변경 사항) 커밋이 제거되었습니다.

놀랍습니다. 저장소에서 마지막 Git 커밋을 성공적으로 취소했습니다.

Git 커밋 하드 재설정

이전 섹션에서는 색인의 파일에 대한 변경 사항을 보존하여 마지막 커밋을 쉽게 취소 할 수있는 방법을 살펴 보았습니다.

어떤 경우에는 간단히 커밋과 파일에 대한 변경 사항을 제거합니다.

이것이 “–hard”옵션의 목적입니다.

마지막 커밋을 취소하고 모든 변경 사항을 취소하기 위해 작업 디렉토리와 색인에서 “–hard”옵션과 함께 “git reset”명령을 실행하고 HEAD 앞에 커밋을 지정합니다 ( “HEAD ~ 1”).

“– hard”를 사용할 때주의하십시오. 변경 사항은 작업 디렉토리 및 색인에서 제거되며 모든 수정 사항이 손실됩니다.

이전에 자세히 설명한 예로 돌아가서 “file1″이라는 Git 저장소에 새 파일을 커밋했습니다.

이제 마지막 커밋을 실행 취소하고 모든 수정 사항을 취소하고 싶다고 가정 해 보겠습니다.

좋습니다. 이제 Git 저장소의 상태를 살펴 보겠습니다. .

보시다시피 파일이 Git 저장소 (인덱스 + 작업 디렉토리)에서 완전히 제거되었습니다.

혼합 재설정 Git commit

마지막 Git 커밋을 실행 취소하고 작업 디렉토리에 변경 사항을 유지하지만 인덱스에는 유지하지 않으려면 “–mixed”옵션과 함께 “git reset”명령을 사용해야합니다. 이 명령 옆에 마지막 커밋에 “HEAD ~ 1″을 추가하기 만하면됩니다.

예를 들어 “”라는 파일을 추가했다고 가정 해 보겠습니다. 실행 취소해야하는 커밋에 file1”을 입력합니다.

마지막 커밋을 실행 취소하려면 “–mixed”옵션과 함께 “git reset”명령을 실행하면됩니다.

“– mixed “옵션을 지정하면 파일이 Git 색인에서 제거되지만 작업 디렉토리에서는 제거되지 않습니다.

결과적으로”–mixed “는 ”는 소프트 리셋과 하드 리셋의 “혼합”이므로 그 이름입니다.

좋습니다! 파일 변경 사항을 보존하면서 마지막 커밋을 되 돌리는 또 다른 방법을 찾았습니다.

다음 섹션에서는 git revert 명령을 사용하여 마지막 커밋을 되 돌리는 또 다른 방법을 살펴 보겠습니다.

되돌리기로 마지막 커밋 실행 취소

마지막 Git 커밋을 되돌리려면 , “git revert”를 사용하고 되돌릴 커밋을 지정합니다. 이는 기록의 마지막 커밋에 대한 “HEAD”입니다.

“git revert”명령은 “git reset”명령과 약간 다릅니다. 마지막 커밋을 되돌려 서 도입 된 변경 사항으로 새 커밋을 기록하기 때문입니다.

또한 “git reset”은 “HEAD ~ 1″을 지정했습니다. 원래대로 되 돌리면 지정된 커밋을 되 돌리는 동안 재설정 명령이 새 HEAD 위치를 설정하기 때문입니다.

결과적으로 파일이 변경되도록 다시 커밋해야합니다. 되돌리고 커밋이 취소됩니다.

결과적으로 새 파일을 Git 저장소에 커밋했지만이 커밋을 되돌리고 싶다고 가정 해 보겠습니다.

“git revert”명령을 실행하면 Git은 변경 사항을 적용하기 위해 텍스트 편집기를 자동으로 엽니 다.

커밋 메시지를 완료하면 새 커밋 해시가 포함 된 메시지가 표시됩니다.

이제 Git 히스토리를 다시 살펴보면 저장소에서 마지막 커밋을 취소하기 위해 새 커밋이 추가되었음을 알 수 있습니다.

결론

이 자습서에서는 Git 저장소의 마지막 커밋을 실행 취소하는 모든 방법을 살펴 보았습니다.

“git reset”에 대해 배웠습니다. ”명령과 유지하고 싶지 않은 것에 따라 실행하는 다른 방법.

또한 git reset과 git revert 명령의 차이점에 대해 배웠습니다. 후자는 순서대로 새 커밋을 추가합니다. 저장소에서 되돌릴 수 있습니다.

Git 또는 소프트웨어 engin에 대해 궁금한 경우 웹 사이트에 전체 섹션이 있으니 꼭 확인하세요!

Git이 마음에 들면 다른 기사도 마음에 드실 수 있습니다.

  • Git 리포지토리를 복제하는 방법
  • Git 파일을 언 스테이징하는 방법
  • Git 커밋을 선택하는 방법
자식

Write a Comment

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다