git의 기록 지우기
Git은 일반적으로 사용되는 버전 관리 도구이며 프로젝트 개발에 널리 사용됩니다. 프로젝트 개발 중에 우리는 일반적으로 코드 제출, 브랜치 병합 및 기타 작업을 포함하여 버전 제어 및 관리를 위해 다양한 git 명령을 사용합니다. 그러나 경우에 따라 민감한 정보를 삭제하거나 불필요한 커밋 기록을 삭제하는 등 Git 기록을 지워야 할 수도 있습니다. 아래에서는 Git 기록을 지우는 방법에 대해 설명합니다.
1. 백업
Git 기록 삭제 작업을 수행하기 전에 작업 중 오류나 예상치 못한 상황을 방지하기 위해 백업이 필요합니다. 필요한 경우 코드 베이스를 복원할 수 있도록 현재 코드 베이스를 안전한 장소에 백업하는 것이 중요합니다. Git의 패키징 명령을 사용하여 프로젝트를 압축 파일로 백업할 수 있습니다. 예:
git archive --format zip --output backup.zip HEAD
이 명령은 현재 코드 베이스를 ZIP 파일로 패키징하고 backup.zip에 저장합니다.
2. 기록 지우기
- 단일 파일의 기록을 지우려면 명령을 사용하세요.
단일 파일의 기록을 삭제하려면 다음 명령을 사용하면 됩니다.
$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch path/to/file' --prune-empty -- --all
이 명령은 대상 파일을 기록에서 완전히 삭제합니다. 그 중 path/to/file
은 지워질 파일 경로를 나타냅니다. path/to/file
表示要清除的文件路径。
- 使用命令清除 commit 的历史纪录
有时候,我们需要删除某个 commit 及其之后的历史纪录。为此,我们可以使用 Git 的 rebase
命令来实现。具体来说,我们需要执行以下步骤:
1)使用以下命令展示项目中所有的 commit
$ git log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short
这个命令会显示项目中所有的 commit 记录。
2)决定要清除的 commit 的 SHA 值
我们需要查找要删除 commit 的 SHA 值,可以从下面的 commit 日志中获取:
commit 55d4d98de4caf2ac1a8f783624c58e533500f3d7 Author: John Doe <john@doe.com> Date: Fri Apr 30 16:01:07 2021 -0700 Added new feature
上述示例中的 commit SHA 值是 55d4d98de4caf2ac1a8f783624c58e533500f3d7
.
3)使用以下命令将要清除的 commit 弹出
$ git rebase -i <commit-hash>^
比如,我们要删除 SHA 值为 55d4d98de4caf2ac1a8f783624c58e533500f3d7
的 commit 及其之后的历史纪录,可以执行以下命令:
$ git rebase -i 55d4d98de4caf2ac1a8f783624c58e533500f3d7^
4)编辑交互窗口以将目标 commit 弹出
在交互模式中,我们需要将需要删除的目标 commit 标记为 “drop”,然后将文件保存退出即可。示例如下所示:
pick 44a0c2c this is an invalid commit, which should be removed drop 55d4d98 Added new feature
在上例中,55d4d98
历史纪录将被删除,而 44a0c2c
- 커밋 기록을 지우려면 명령을 사용하세요
때로는 커밋과 후속 기록을 삭제해야 할 때가 있습니다. 이를 위해 Git의 rebase
명령을 사용할 수 있습니다. 구체적으로 다음 단계를 수행해야 합니다.
1) 프로젝트의 모든 커밋을 표시하려면 다음 명령을 사용하세요.
$ git filter-branch --force --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch ./' --tag-name-filter cat -- --all
이 명령은 프로젝트의 모든 커밋 기록을 표시합니다.
2) 삭제할 커밋의 SHA 값을 결정합니다
삭제할 커밋의 SHA 값을 찾아야 하며, 이는 아래 커밋 로그에서 얻을 수 있습니다.
$ git push origin --force --all
위의 커밋 SHA 값 예는 55d4d98de4caf2ac1a8f783624c58e533500f3d7 code>입니다.
55d4d98de4caf2ac1a8f783624c인 커밋을 삭제하려는 경우 58e533500f3d7 및 후속 기록 기록을 사용하면 다음 명령을 실행할 수 있습니다. 🎜rrreee 🎜4) 대화형 창을 편집하여 대상 커밋을 표시합니다. 🎜🎜대화형 모드에서는 삭제해야 할 대상 커밋을 표시해야 합니다. "drop"으로 지정한 다음 파일을 저장하고 종료합니다. 예는 다음과 같습니다. 🎜rrreee🎜위 예에서는 <code>55d4d98
기록이 삭제되고 44a0c2c
기록이 최신 커밋이 됩니다. 🎜🎜5) 이전 기록을 지우려면 다음 명령을 사용하세요. 🎜rrreee🎜 이 명령은 "drop"으로 표시된 커밋과 후속 커밋을 지울 수 있습니다. 🎜🎜6) 원격 창고로 푸시🎜🎜마지막으로 원격 창고의 내역 기록을 업데이트하고 내역 기록의 정확성을 보장하려면 원격 창고로 강제 푸시해야 합니다. 🎜rrreee🎜다음과 같이 작동해야 한다는 점에 유의하세요. 위 명령을 실행할 때 주의하고 코드 베이스를 백업했는지 확인하세요. 한번 삭제하면 복원이 불가능하기 때문입니다. 🎜🎜요약🎜🎜이 글에서는 Git을 사용하여 기록을 삭제하는 방법을 소개합니다. 이러한 작업을 수행하기 전에 기록 기록 작업의 결과를 고려하고 돌이킬 수 없는 손실을 방지하기 위해 백업을 만들어야 합니다. 동시에, 역사적 기록을 지우는 것을 지양하고 필요한 경우에만 활용하도록 노력해야 합니다. 🎜위 내용은 git의 기록 지우기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 GUI 도구 (Sourcetree, Gitkraken 등), 필수 명령 (Git Init, Git Clone, Git Add, Git Commit 등), 지점 관리 모범 사례 (기능 분기, 요청) 및 Merge Con에 대한 GIT 관리에 대한 안내서를 제공합니다.

이 안내서는 단일 git 커밋을 원격 브랜치로 밀리는 방법을 설명합니다. 임시 지점을 사용하여 커밋을 분리 하고이 지점을 리모콘으로 밀고 선택적으로 임시 지점을 삭제합니다. 이 방법은 충돌을 피하고

이 기사는 일반적인 GIT 커밋 실패를 다룹니다. 추적되지 않은 파일, 무대 변경 변경, 충돌 병합 및 사전 커밋 후크와 같은 문제에 대한 문제 해결 단계에 대해 자세히 설명합니다. 더 부드러운 git wo를 보장하기 위해 솔루션 및 예방 조치가 제공됩니다.

이 기사에서는 Git의 커밋과 푸시 명령의 차이점을 설명합니다. Git Commit은 로컬에서 변경 사항을 저장하는 반면 Git Push는 이러한 커밋 된 변경 사항을 원격 저장소에 업로드합니다. 이 기사는이 분류를 이해하는 것의 중요성을 강조합니다

이 기사는 GIT 커밋 컨텐츠를보기위한 방법을 자세히 설명합니다. git show를 사용하여 커밋 메시지, 저자 정보 및 변경 (DIFF), 여러 Commit 'Diff에 대한 GIT 로그 -P를 표시하고 Commit을 직접 확인하는 것에 대한주의 사항에 중점을 둡니다. 대체

이 기사에서는 Git에서 Git Add와 Git Commit의 뚜렷한 역할을 설명합니다. GIT는 단계 변경 사항을 추가하여 다음 커밋에 포함시킬 준비를하고 GIT Commit은 저장소의 역사에 대한 단계적 변경 사항을 저장합니다. 이 2 단계 프로세스가 가능합니다

이 기사는 분산 버전 제어 시스템 인 GIT를 소개합니다. 오프라인 기능 및 강화 된 협업을위한 효율적인 분기/병합과 같은 중앙 집중식 시스템에 대한 GIT의 장점을 강조합니다. 이 기사는 또한 학습 r

이 초보자 안내서는 버전 제어 시스템 인 GIT를 소개합니다. 기본 명령 (Init, Add, Commit, Status, Log, Branch, Checkout, Merge, Push, Pull) 및 병합 충돌을 해결합니다. Clear Comm을 포함한 효율적인 GIT 사용을위한 모범 사례
