개발 도구 자식 git의 기록 지우기

git의 기록 지우기

May 25, 2023 pm 06:35 PM

Git은 일반적으로 사용되는 버전 관리 도구이며 프로젝트 개발에 널리 사용됩니다. 프로젝트 개발 중에 우리는 일반적으로 코드 제출, 브랜치 병합 및 기타 작업을 포함하여 버전 제어 및 관리를 위해 다양한 git 명령을 사용합니다. 그러나 경우에 따라 민감한 정보를 삭제하거나 불필요한 커밋 기록을 삭제하는 등 Git 기록을 지워야 할 수도 있습니다. 아래에서는 Git 기록을 지우는 방법에 대해 설명합니다.

1. 백업

Git 기록 삭제 작업을 수행하기 전에 작업 중 오류나 예상치 못한 상황을 방지하기 위해 백업이 필요합니다. 필요한 경우 코드 베이스를 복원할 수 있도록 현재 코드 베이스를 안전한 장소에 백업하는 것이 중요합니다. Git의 패키징 명령을 사용하여 프로젝트를 압축 파일로 백업할 수 있습니다. 예:

git archive --format zip --output backup.zip HEAD
로그인 후 복사

이 명령은 현재 코드 베이스를 ZIP 파일로 패키징하고 backup.zip에 저장합니다.

2. 기록 지우기

  1. 단일 파일의 기록을 지우려면 명령을 사용하세요.

단일 파일의 기록을 삭제하려면 다음 명령을 사용하면 됩니다.

$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch path/to/file' --prune-empty -- --all
로그인 후 복사

이 명령은 대상 파일을 기록에서 완전히 삭제합니다. 그 중 path/to/file은 지워질 파일 경로를 나타냅니다. path/to/file 表示要清除的文件路径。

  1. 使用命令清除 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>입니다.

    🎜3) 다음 명령을 사용하여 삭제할 커밋을 팝업하세요. 🎜rrreee🎜예를 들어 SHA 값이 55d4d98de4caf2ac1a8f783624c인 커밋을 삭제하려는 경우 58e533500f3d7 및 후속 기록 기록을 사용하면 다음 명령을 실행할 수 있습니다. 🎜rrreee 🎜4) 대화형 창을 편집하여 대상 커밋을 표시합니다. 🎜🎜대화형 모드에서는 삭제해야 할 대상 커밋을 표시해야 합니다. "drop"으로 지정한 다음 파일을 저장하고 종료합니다. 예는 다음과 같습니다. 🎜rrreee🎜위 예에서는 <code>55d4d98 기록이 삭제되고 44a0c2c 기록이 최신 커밋이 됩니다. 🎜🎜5) 이전 기록을 지우려면 다음 명령을 사용하세요. 🎜rrreee🎜 이 명령은 "drop"으로 표시된 커밋과 후속 커밋을 지울 수 있습니다. 🎜🎜6) 원격 창고로 푸시🎜🎜마지막으로 원격 창고의 내역 기록을 업데이트하고 내역 기록의 정확성을 보장하려면 원격 창고로 강제 푸시해야 합니다. 🎜rrreee🎜다음과 같이 작동해야 한다는 점에 유의하세요. 위 명령을 실행할 때 주의하고 코드 베이스를 백업했는지 확인하세요. 한번 삭제하면 복원이 불가능하기 때문입니다. 🎜🎜요약🎜🎜이 글에서는 Git을 사용하여 기록을 삭제하는 방법을 소개합니다. 이러한 작업을 수행하기 전에 기록 기록 작업의 결과를 고려하고 돌이킬 수 없는 손실을 방지하기 위해 백업을 만들어야 합니다. 동시에, 역사적 기록을 지우는 것을 지양하고 필요한 경우에만 활용하도록 노력해야 합니다. 🎜

    위 내용은 git의 기록 지우기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

GIT 관리 도구를 완전히 사용하기 위해 GIT 관리 도구를 사용하는 방법 GIT 관리 도구를 완전히 사용하기 위해 GIT 관리 도구를 사용하는 방법 Mar 06, 2025 pm 01:32 PM

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

지정된 커밋을 추진하는 방법 지정된 커밋을 추진하는 방법 Mar 06, 2025 pm 01:39 PM

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

GIT 커밋 제출의 실패를 해결하는 방법 GIT 커밋 제출의 실패를 해결하는 방법 Mar 06, 2025 pm 01:38 PM

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

커밋과 git의 추진의 차이 커밋과 git의 추진의 차이 Mar 06, 2025 pm 01:37 PM

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

커밋 내용을 보는 방법 커밋 내용을 보는 방법 Mar 06, 2025 pm 01:41 PM

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

git의 추가와 커밋의 차이 git의 추가와 커밋의 차이 Mar 06, 2025 pm 01:35 PM

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

GIT 코드 관리 도구 란 무엇입니까? GIT 코드 관리 도구 란 무엇입니까? Mar 06, 2025 pm 01:31 PM

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

초보자를위한 GIT 관리 도구 사용을위한 GIT 관리 도구 튜토리얼 사용 방법 초보자를위한 GIT 관리 도구 사용을위한 GIT 관리 도구 튜토리얼 사용 방법 Mar 06, 2025 pm 01:33 PM

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

See all articles