>개발 도구 >자식 >Git에서 기록을 삭제하는 방법

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

PHPz
PHPz원래의
2023-04-03 09:20:593225검색

Git은 현재 가장 널리 사용되는 버전 관리 시스템 중 하나입니다. 그러나 때로는 다시 시작하기 위해 Git 프로젝트의 기록을 삭제해야 할 수도 있습니다. 이 기사에서는 Git 명령 및 도구를 사용하여 Git 프로젝트에서 기록을 삭제하는 방법을 소개합니다.

  1. Git Reset 명령을 사용하여 기록 삭제

Git Reset 명령을 사용하여 커밋을 취소하고 기록을 삭제할 수 있습니다. 이 명령은 HEAD 포인터 이전의 하나 이상의 커밋을 실행 취소하고 포인터를 지정된 커밋으로 이동합니다.

Git 프로젝트 기록을 삭제하려면 git Reset 명령을 사용하고 포인터를 이전 커밋으로 이동해야 합니다. 이렇게 하면 포인터 이전의 모든 커밋이 실행 취소되고 기록에서 제거됩니다. 다음 명령을 사용할 수 있습니다.

git reset --hard <commit-id>

이 명령에서 ""는 Git 프로젝트의 이전 커밋의 해시입니다. 이 명령을 사용한 후 Git 프로젝트는 이전 커밋 상태로 돌아가고 포인터 이전의 모든 커밋을 삭제합니다.

이 명령을 사용한 후에는 삭제된 기록을 복원할 수 없습니다. 따라서 이 명령은 기록을 보존할 필요가 없는 경우에만 주의해서 사용해야 합니다.

  1. Git filter-branch 명령을 사용하여 기록 삭제

Git를 통해 기록을 삭제하는 또 다른 방법은 git filter-branch 명령을 사용하는 것입니다. 이 명령은 커밋 메시지 다시 쓰기, 커밋 삭제, 기존 커밋 분할 등을 포함하여 Git 프로젝트의 기록을 다시 쓰는 데 사용할 수 있습니다.

Git 프로젝트 기록을 삭제하려면 다음 명령을 사용해야 합니다.

git filter-branch --force --tree-filter 'rm -rf path/to/your/file/or/directory' HEAD

이 명령에서 "path/to/your/file/or/directory"는 삭제하려는 파일 또는 디렉터리 이름입니다. 이 명령을 사용한 후 Git은 전체 기록을 살펴보고 지정된 파일이나 디렉터리의 모든 항목을 삭제합니다.

이 명령을 사용하면 Git 프로젝트의 전반적인 성능에 영향을 미칠 수 있습니다. 또한 git Reset 명령과 마찬가지로 이 명령을 사용한 후에는 삭제된 기록을 복원할 수 없습니다.

  1. BFG Repo-Cleaner 도구를 사용하여 기록 레코드 삭제

BFG Repo-Cleaner는 Git 프로젝트 기록을 삭제하기 위해 특별히 설계된 도구입니다. 이 도구는 대규모 Git 커밋 기록을 정리하고 관리하기 쉽게 만드는 데 사용할 수 있는 Java 라이브러리입니다.

BFG Repo-Cleaner를 사용하여 Git 프로젝트 기록을 삭제하려면 다음 단계를 따르세요.

  • BFG Repo-Cleaner를 다운로드하고 압축을 풀고 설치합니다.
  • 터미널에서 정리하려는 Git 프로젝트가 있는 디렉터리로 이동합니다. 그리고 다음 명령을 실행합니다:
java -jar bfg.jar --delete-files <file-to-delete> --delete-folders <folder-to-delete> <your-repo.git>

이 명령에서 ""는 삭제할 파일의 이름이고, ""는 삭제할 폴더, " "는 Git 프로젝트의 경로입니다.

이 명령을 사용한 후 BFG Repo-Cleaner는 전체 기록을 살펴보고 지정된 파일이나 폴더의 모든 것을 삭제합니다.

BFG Repo-Cleaner를 사용하기 전에 불필요한 데이터 손실을 피하기 위해 전체 Git 프로젝트를 백업해야 합니다.

결론

이 기사에서는 Git 프로젝트에서 기록을 삭제하는 세 가지 방법인 git 재설정, git filter-branch 명령 및 BFG Repo-Cleaner 도구를 소개했습니다. 이러한 방법을 사용하기 전에 데이터 손실을 방지하려면 전체 Git 프로젝트를 백업해야 합니다. 기록을 올바르게 삭제하면 버전 제어에 영향을 주지 않고 Git 프로젝트를 다시 시작할 수 있습니다.

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

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