>개발 도구 >자식 >Git에서 이메일 메시지를 삭제하는 방법

Git에서 이메일 메시지를 삭제하는 방법

PHPz
PHPz원래의
2023-04-04 10:44:46773검색

개발자로서 Git 사용은 불가피합니다. Git은 코드 변경 사항을 추적하고 이전 버전으로 롤백하는 데 도움이 되는 버전 제어 시스템입니다. Git에서 각 커밋은 작성자 및 이메일 주소와 연결됩니다. 때로는 잘못된 이메일 메시지를 삭제해야 할 수도 있습니다. 다음으로 Git에서 이메일 메시지를 삭제하는 방법을 소개합니다.

Git 구성 이해

이메일 메시지 삭제를 시작하기 전에 먼저 Git 구성을 이해해야 합니다. Git의 전역 구성에서 기본 사용자 이름과 이메일 주소를 설정할 수 있습니다. 다음 명령은 전역 사용자 이름과 이메일 주소를 설정합니다.

$ git config --global user.name "Your Name"
$ git config --global user.email "your_email@example.com"

터미널에 git config 명령을 입력하면 현재 Git 구성에 대한 모든 옵션을 나열하고 전역 및 저장소별 설정 값을 볼 수 있습니다.

커밋 시 이메일 주소 변경

코드 제출 시 사용자 정보를 올바르게 구성하지 않으면 잘못된 이메일 주소가 사용될 수 있습니다. 이 경우 Git 커밋에서 이메일 주소를 변경해야 하며 다음 명령을 사용할 수 있습니다.

$ git commit --amend --author="New Author Name <new_email_address@example.com>"

이 명령을 사용하면 기본 텍스트 편집기가 열리고 커밋의 작성자와 이메일 주소를 변경할 수 있습니다. -V 옵션을 사용하면 기본 텍스트 편집기가 열리지 않습니다.

제출된 이메일 주소 제거

때때로 이메일 주소가 더 이상 유효하지 않거나 손상되었기 때문에 전체 저장소에서 이메일 주소를 완전히 제거해야 할 수도 있습니다. 이 경우 아래 단계에 따라 Git에서 해당 이메일 주소를 제거해야 합니다.

1단계: 이 이메일 주소가 포함된 모든 제출 레코드 찾기

먼저, 이 이메일 주소가 포함된 모든 제출 레코드를 찾아야 합니다. 다음 명령을 사용하여 이 이메일 주소와 관련된 커밋 기록을 찾을 수 있습니다.

$ git log --author="email_address"

이 이메일 주소와 관련된 모든 제출물이 나열됩니다. 각 커밋 기록을 확인하고 삭제하려는 이메일 주소로 생성되었는지 확인할 수 있습니다.

2단계: 커밋 기록 다시 작성

모든 커밋을 찾았으면 다음 명령을 사용하여 각 커밋을 다시 작성할 수 있습니다.

$ git filter-branch --commit-filter '
        if [ "$GIT_AUTHOR_EMAIL" = "email_address" ];
        then
                GIT_AUTHOR_NAME="NewAuthorName";
                GIT_AUTHOR_EMAIL="new_email_address@example.com";
                git commit-tree "$@";
        else
                git commit-tree "$@";
        fi' HEAD

이 명령은 각 커밋을 반복하고 새 작성자와 이메일 주소를 사용하도록 다시 작성합니다.

3단계: 원격 저장소로 강제 푸시

커밋 기록 다시 쓰기가 완료되면 변경 사항을 원격 저장소로 푸시해야 합니다. 다음 명령을 사용하여 원격 분기에 강제로 푸시할 수 있습니다. 이렇게 하면 원격 저장소의 기존 커밋 기록을 덮어쓰게 됩니다.

$ git push --force

결론

Git에서는 이메일 주소를 사용하는 것이 매우 일반적이지만 때로는 이메일 주소를 삭제하거나 변경해야 할 수도 있습니다. 이 문서에서는 Git 커밋에서 이메일 주소를 제거하거나 변경하는 몇 가지 방법을 제공합니다. Git 커밋 기록을 변경하거나 다시 작성할 때는 주의해야 합니다.

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

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