> 개발 도구 > 자식 > 본문

git 커밋을 취소하는 방법

PHPz
풀어 주다: 2023-04-03 13:51:42
원래의
33944명이 탐색했습니다.

Git은 널리 사용되는 버전 관리 도구이지만 숙련된 개발자라도 실수로 잘못된 코드나 개인 정보를 커밋할 수 있습니다. 이 경우 코드베이스 기록을 파괴하지 않고 문제를 해결하려면 커밋을 실행 취소하는 것이 중요합니다.

git 커밋을 실행 취소하는 방법에 대한 단계는 다음과 같습니다.

1. 최근 커밋 취소

잘못된 코드나 개인 정보를 제출했고, 원격 창고에 오류를 푸시하지 않은 경우 가장 쉬운 방법은 커밋을 취소하는 것입니다.

1. 커밋 기록 보기

커밋을 취소하려면 먼저 다음 명령을 사용하여 커밋 기록을 확인하세요.

git log
로그인 후 복사

이렇게 하면 최근 커밋이 모두 표시됩니다.

각 커밋의 해시 값을 기록해 두세요. 이는 다음 단계에서 도움이 될 것입니다.

2. 커밋 취소

가장 최근 커밋을 취소하려면 다음 명령을 실행하세요.

git reset HEAD~1
로그인 후 복사

이렇게 하면 가장 최근 커밋이 취소되지만 해당 커밋에 대한 변경 사항은 유지됩니다.

위 그림에서 HEAD~1은 "가장 최근 제출한 내용 실행 취소"를 의미합니다.

모든 변경 사항을 동시에 되돌리려면 다음 명령을 사용할 수 있습니다.

git reset HEAD~1 –hard
로그인 후 복사

이렇게 하면 가장 최근 커밋이 실행 취소되고 모든 변경 사항이 되돌려집니다.

2. 원격 웨어하우스에 푸시된 커밋을 취소합니다.

원격 웨어하우스에 잘못된 커밋을 푸시한 경우 다음 단계에 따라 커밋을 취소해야 합니다.

1. 원격 저장소에 푸시된 커밋을 취소합니다.

원격 저장소에 푸시된 커밋을 취소하려면 다음 명령을 사용하세요.

git revert <commit>
로그인 후 복사

이 명령은 지정된 커밋을 대체할 새 커밋을 생성합니다. 커밋()은 실행 취소되고 변경 사항이 실행 취소되었음을 나타내기 위해 새 커밋이 기록에 유지됩니다.

이 명령은 변경 사항을 기록의 일부로 기록하므로 되돌릴 수 없습니다. 따라서 이 명령을 주의해서 사용하고 취소하려는 커밋을 정확하게 지정해야 합니다.

위 이미지는 git revert 명령을 사용한 결과를 보여줍니다.

2. 기록을 유지하면서 원격 저장소에 푸시된 커밋을 실행 취소합니다.

실행 취소된 변경 사항을 코드 베이스에서 완전히 제거하지 않고 해당 변경 기록을 유지하려는 경우 다음을 사용할 수 있습니다. 다음 명령:

git revert -n <commit>
로그인 후 복사

이 명령은 변경 사항이 취소되었음을 나타내는 새 커밋을 생성합니다. 그러나 파일은 변경되지 않으므로 되돌리려는 커밋을 가리키기 전에 파일을 수정할 수 있습니다.

git commit -c ORIG_HEAD
로그인 후 복사

이 명령은 되돌린 모든 변경 사항과 기타 모든 변경 사항을 포함하는 새 커밋을 생성합니다. 이 새로운 커밋은 보존하려는 기록의 일부입니다.

3. 제출 정보 수정 방법

제출 정보가 마음에 들지 않거나 제출한 정보가 불완전한 경우 다음 명령을 사용하여 제출 정보를 수정할 수 있습니다.

git commit --amend
로그인 후 복사

이 명령은 제출 정보 변경 편집할 수 있도록 편집기에 넣으세요.

기본적으로 이 명령은 구성된 텍스트 편집기를 사용합니다. 기본 에디터를 변경하고 싶다면 다음과 같은 방법으로 환경변수를 설정해 주세요.

export EDITOR="nano"
로그인 후 복사

위 명령어를 실행한 후 나노 에디터에서 커밋 정보를 수정할 수 있습니다.

제출물 편집이 완료되면 저장하고 편집기를 종료하세요. 그러면 최신 커밋 정보가 업데이트됩니다.

결론

Git에서 커밋을 취소하는 것은 코드 베이스의 기록을 파괴하지 않고 버그를 수정하는 데 도움이 되는 유용한 방법입니다. 이제 막 Git을 시작했거나 숙련된 개발자라면 커밋을 쉽게 실행 취소하는 방법을 알아야 합니다.

위 내용은 git 커밋을 취소하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿