앗, 실수했나요? git 커밋을 되돌리는 방법은 다음과 같습니다.

1851 단어 beginnersgitwebdev
당신이 개발자라면 몇 가지 변경 사항을 커밋 해제하려는 상황에 자주 직면하게 됩니다. 그러나 경우에 따라 Git 리포지토리에 푸시하면 안 되는 일부 파일을 커밋했습니다.

경우에 따라 커밋을 실행하기 전에 추가 변경을 수행해야 할 수 있습니다. 따라서 Git 리포지토리에서 마지막 커밋을 실행 취소해야 합니다.

코드를 되돌리는 것이 항상 간단한 것은 아닙니다. 특히 아직 Git을 배우거나 명령줄을 탐색하는 데 자신감을 얻고 있는 경우에는 더욱 그렇습니다. 이 게시물에서는 터미널을 통해 변경 사항을 푸시한 후 커밋을 실행 취소하는 과정을 안내합니다.

커밋이 무엇인지 이해하기



커밋은 터미널에서 명령어git commit를 쳤을 때 찍은 사진과 같다. 변경 사항을 사진으로 찍어 시스템에 저장합니다.

커밋 되돌리기



이러한 변경 사항을 내 리포지토리에 커밋하거나 푸시하고 싶지 않다는 것을 깨달았다고 가정해 보겠습니다. 커밋을 취소하는 방법을 알아보겠습니다.

git log -p




커밋을 취소하려면




git revert [commit hash]


내 경우에는 실행하겠습니다.

git revert 0a3dbc774ea29bfd68fe55caf1ade33dba1bda35


하드 리셋 Git 커밋



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

경우에 따라 파일에 대한 커밋과 변경 사항을 제거하기만 하면 됩니다.

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

마지막 커밋을 실행 취소하고 작업 디렉토리 및 인덱스의 모든 변경 사항을 버리려면 “–hard” 옵션과 함께 “git reset” 명령을 실행하고 HEAD(“HEAD~1”) 앞에 커밋을 지정합니다.

$ git reset --hard HEAD~1


"–hard"를 사용할 때 주의하십시오. 작업 디렉토리와 인덱스에서 변경 사항이 제거되고 모든 수정 사항이 손실됩니다.

몇 가지 다른 포인트


  • 더 짧은 방법은 git revert 0a3d 명령을 실행하는 것입니다. Git은 처음 4개(또는 그 이상) 문자를 기반으로 커밋을 식별할 만큼 똑똑합니다.
  • 되돌리려는 커밋을 식별하기 위해 커밋 해시를 사용할 필요가 없습니다. 다음을 포함하여 gitrevision으로 간주되는 모든 값을 사용할 수 있습니다.
    꼬리표
    나뭇가지
    해시시
    참조

  • 감사합니다

    좋은 웹페이지 즐겨찾기