> 개발 도구 > 자식 > 본문

Git의 원격 커밋 삭제 방법 요약

PHPz
풀어 주다: 2023-04-04 13:57:12
원래의
6650명이 탐색했습니다.

Git은 개발자에게 소프트웨어 개발 및 협업 중에 매우 편리한 몇 가지 중요한 명령과 도구를 제공하는 오픈 소스 분산 버전 제어 시스템입니다. 그 중 Git 커뮤니케이션의 핵심은 커밋(Commit) 개념입니다. 제출 과정에서 팀이 코드 수정 및 개인 기여에 대해 배울 수 있기 때문입니다.

그러나 제출된 커밋을 삭제해야 하는 경우가 있습니다. 예를 들어 쓸모 없는 코드나 민감한 정보가 제출된 경우 원격 코드 베이스에서 삭제해야 합니다. 이때 Git에서 제출된 커밋을 삭제하는 방법과 삭제된 변경 사항을 원격 코드 베이스로 푸시하는 방법을 배워야 합니다. Git에서 원격 커밋을 삭제하는 방법을 소개합니다.

1. Git 커밋의 본질

Git에서는 각 커밋마다 식별자로 고유한 SHA-1 해시 값이 있습니다. 이 해시 값은 커밋 내용을 기반으로 Git에서 계산됩니다. 문자가 변경되면 그에 따라 해시 값도 변경됩니다. 그렇기 때문에 커밋은 삭제만 가능하고 수정할 수는 없습니다.

2. 커밋을 삭제하려면 Git 재설정 명령을 사용하세요.

커밋을 삭제하려면 먼저 Git 재설정 명령을 사용하여 삭제해야 하는 이전 커밋을 HEAD 포인터로 가리켜야 합니다. 이 HEAD 포인터는 로컬 코드 베이스의 최신 커밋을 가리킵니다. 재설정 명령을 사용하여 HEAD 포인터의 위치를 ​​수정할 수 있습니다. 커밋을 삭제하려면 삭제해야 하는 커밋을 "제거"할 수 있도록 삭제해야 하는 커밋의 이전 커밋을 HEAD에 지정해야 합니다.

예를 들어 다음 커밋 레코드가 있습니다.

commit2
commit1
로그인 후 복사

commit2를 삭제하려면 먼저 HEAD가 commit1을 가리켜야 합니다.

git reset HEAD~1
로그인 후 복사

이 명령은 HEAD가 이전 커밋(commit1)을 가리킨다는 의미입니다. HEAD 포인터가 commit1로 이동되고, commit2도 Git 로컬 코드 베이스에서 삭제됩니다.

3. Git 푸시 명령을 사용하여 변경 사항을 원격 코드 베이스에 제출합니다.

이전 단계에서는 재설정 명령을 사용하여 로컬 코드 베이스에서 커밋을 삭제했지만 원격에서 커밋을 삭제하려는 경우 코드 베이스를 삭제해야 합니다. 변경 사항이 원격 코드 베이스로 푸시됩니다.

1. 강제 푸시: Git에서 강제 푸시는 원격 코드 베이스를 즉시 업데이트할 수 있기 때문에 가장 일반적으로 사용되는 방법입니다. 강제 푸시 명령은 다음과 같습니다.

git push -f
로그인 후 복사

이 명령은 이러한 변경 사항이 원격 코드 베이스의 커밋된 커밋을 덮어쓰더라도 원격 코드 베이스에 대한 로컬 변경 사항을 강제로 적용한다는 의미입니다.

2. 커밋을 되돌리려면 "되돌리기"를 사용하세요. 이 방법은 커밋을 삭제하고 싶지 않지만 반대 결과로 되돌리는 상황에 적합합니다. 이 방법을 사용하려면 먼저 이전 커밋을 취소하고 해당 역방향 커밋을 추가하는 "되돌리기" 커밋을 제출해야 합니다. 이 역방향 커밋의 내용은 이전 커밋에서 변경한 내용의 역전이므로 코드 베이스가 이전 상태로 복원됩니다. 이 명령의 예:

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

4. 주의 사항

원격 커밋을 삭제하면 복구할 수 없으므로 주의해야 합니다. 나중에 필요한 경우 복원할 수 있도록 삭제해야 하는 커밋 코드를 백업했는지 확인하세요.

커밋을 삭제한 후에도 코드가 다른 사람의 로컬 저장소에 여전히 존재하고 공용 저장소가 지워지지 않기 때문에 공개 저장소에서 코드를 삭제할 수 없습니다. 민감한 정보를 지우려면 Git의 git filter-branch 명령이나 유사한 도구를 사용하는 것이 좋습니다.

요약:

위는 Git이 원격 커밋을 삭제하는 방법입니다. 코드 관리를 위해 Git 명령을 사용하는 개발자는 이러한 기본 원칙과 작업 절차를 이해해야 합니다. 커밋을 삭제할 때에는 코드베이스 내 소스코드 보호에 주의하고, 데이터 손실을 방지하기 위해 백업을 해두어야 합니다. 동시에 프로젝트의 보안을 보호하기 위해 코드에서 민감한 정보를 제거하는 것이 좋습니다.

위 내용은 Git의 원격 커밋 삭제 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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