>  기사  >  개발 도구  >  Git에서 커밋 기록을 삭제하는 방법

Git에서 커밋 기록을 삭제하는 방법

PHPz
PHPz원래의
2023-04-03 09:19:564170검색

제목: Git은 커밋 기록을 삭제합니다: 이유, 필요한 지식 및 작업 단계

Git은 널리 사용되는 버전 관리 도구입니다. 개발자는 Git을 사용하여 코드 관리 및 버전 관리를 할 수 있습니다. Git의 중요한 기능은 커밋을 롤백하고 새 커밋을 생성하는 기능이지만 때로는 커밋 기록을 삭제해야 하는 경우도 있습니다. 이 글에서는 Git에서 커밋 기록을 삭제하는 이유와 필요한 지식, 작업 단계를 소개합니다.

1. 제출 기록을 삭제해야 하는 이유

1.1 코드 보안 보호

Git를 버전 제어 시스템으로 사용하는 경우 다른 사람이 원격 저장소에서 중요한 정보를 포함한 제출 기록을 얻을 수 있습니다. 비밀번호, 열쇠 등 커밋 기록을 삭제하면 우발적이거나 악의적인 공개로부터 코드 보안을 보호할 수 있습니다.

1.2 기록 지우기

Git 작업을 수행할 때 로그에 표시하고 싶지 않은 커밋이나 테스트 커밋 등 불필요한 커밋이 있을 수 있습니다. 이러한 커밋은 혼란스러울 수 있으며 커밋을 제거하면 기록이 지워지고 로그가 더 명확해집니다.

1.3 브랜치 기록 병합

브랜치에서 개발한 후 해당 브랜치를 마스터 브랜치에 병합하면 불필요한 커밋 기록이 나타날 수 있습니다. 이러한 커밋 기록을 제거하면 마스터 브랜치의 기록을 더 깔끔하고 읽기 쉽게 만들 수 있습니다.

2. 필수 지식

2.1 Rewrite History

Commit History를 삭제하는 방법은 Git의 “Rewrite History” 기능을 이용합니다. 이 기능을 사용하면 Git은 커밋 ID와 변경 기록을 변경하며 이는 귀하와 다른 사람들이 관심을 갖는 변경 사항에 영향을 미칩니다. 따라서 코드 수정 시 실시간 백업이 필요합니다.

2.2 강제 푸시

커밋 내역을 삭제한 후, 내역이 변경되었기 때문에 변경 사항을 원격 라이브러리에 푸시하려고 하면 "푸시 거부됨"과 같은 오류 메시지가 나타날 수 있습니다. 이는 원격 코드 저장소에 삭제한 커밋이 이미 포함되어 있기 때문입니다. 변경 사항을 푸시하려면 강제 푸시를 사용해야 합니다.

3. 작업 단계

다음으로 Git에서 커밋 기록을 삭제하는 방법을 소개합니다. 계속하기 전에 코드를 백업했는지 확인하세요.

3.1 git 재설정 명령 사용

지정된 수의 커밋을 롤백하려면 git Reset --soft HEAD~ 명령을 사용하세요. 여기서 "숫자"는 롤백하려는 커밋 수를 나타냅니다.

3.2 git push -f 명령을 사용하세요

다음으로 변경 사항을 원격 저장소에 푸시해야 합니다. 기록이 변경되었으므로 변경 사항을 강제로 푸시하려면 git push -f 명령을 사용해야 합니다.

4.3 git filter-branch 명령을 사용하세요

더 강력한 명령인 git filter-branch를 사용하여 커밋 기록을 삭제할 수도 있습니다. 이 명령을 사용하면 커밋 메시지, 작성자, 타임스탬프 등을 포함하여 커밋 기록의 모든 내용을 수정할 수 있습니다. 지정된 파일, 폴더 또는 특정 커밋을 삭제할 수 있습니다.

이 명령은 태그 등을 포함한 모든 추가 데이터를 삭제한다는 점에 유의해야 합니다. 백업을 유지하도록 주의하세요.

요약

Git에서 커밋 기록을 삭제하는 것은 주의와 코드 백업이 필요한 매우 고급 작업입니다. 커밋 기록을 삭제하기 전에 버전 관리 시스템에 백업을 만들어 데이터 손실을 방지하세요. 동시에 코드 관리가 용이하고 코드 품질을 향상시키기 위해 팀에서 기본 코드 개발 표준을 확립해야 합니다. 이 글이 Git의 운영과 관리를 더 잘 이해하는 데 도움이 되기를 바랍니다.

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.