> 개발 도구 > 자식 > 본문

git이 사용자 이름과 이메일을 수정하지 못했습니다.

WBOY
풀어 주다: 2023-05-20 10:28:07
원래의
2538명이 탐색했습니다.

버전 관리를 위해 Git을 사용하는 과정에서 사용자 이름과 이메일 주소를 구성해야 하는 경우가 많습니다. 이 정보는 제출자를 식별하는 데 사용됩니다. 그러나 경우에 따라 개인 이메일 주소를 변경했거나 개인 정보를 보호하기 위해 이 정보를 수정해야 할 수도 있습니다. 그러나 변경을 위해 Git config --global user.name 및 Git config --global user.email 명령을 실행했을 때 Git이 응답하지 않고 사용자 이름과 이메일을 수정할 수 없다는 사실을 발견했습니다. 왜 이런거야? 이 문제를 해결하는 방법? 이 기사에서는 이에 대해 자세히 설명합니다.

원인 분석

먼저 코드를 저장하고 관리하는 버전 관리 시스템인 Git은 제출자의 정보를 자동으로 업데이트하지 않는다는 점을 분명히 해야 합니다. 사용자가 Git 커밋을 수행할 때 각 제출에 해당하는 제출자 정보를 수동으로 입력해야 합니다.

따라서 사용자 이름과 이메일 주소를 업데이트할 때 후속 제출 작업마다 새 정보를 수동으로 입력해야 합니다. 그렇지 않으면 수정 전의 사용자 이름과 이메일 주소가 기본적으로 사용됩니다. 따라서 기본적으로 Git은 이전 커밋 기록을 자동으로 업데이트하지 않습니다. 이는 사용자 이름과 이메일 주소 변경이 적용되지 않는 이유 중 하나입니다.

또한 Git 구성 파일에 사용자 이름과 이메일 주소를 올바르게 지정하지 않았거나 --global 옵션을 추가하지 않아 수정된 사용자 이름과 이메일 정보만 적용되었을 수도 있습니다. 현재 프로젝트에서는 전 세계적으로 유효하지 않습니다.

해결책

1. Git 구성 파일에서 새로운 사용자 이름과 이메일 정보를 업데이트하세요

다음 명령을 통해 Git 구성 파일(~/.gitconfig)에서 새로운 사용자 이름과 이메일 정보를 업데이트할 수 있습니다:

git config --global user.name "新的用户名"
git config --global user.email "新的邮箱地址"
로그인 후 복사

Make 입력한 새 사용자 이름과 이메일 주소가 업데이트하려는 사용자 정보와 정확히 일치하는지 확인하세요. 수정이 성공한 후 Git 제출 시 새 사용자 정보를 입력하면 됩니다.

2. Git 제출 기록에서 사용자 이름과 이메일 정보를 업데이트합니다.

Git 제출 기록에서 사용자 이름과 이메일 정보를 업데이트하려면 다음 명령을 사용해야 합니다.

git filter-branch -f --env-filter "GIT_AUTHOR_NAME=新用户名; GIT_AUTHOR_EMAIL=新邮箱地址; GIT_COMMITTER_NAME=新用户名; GIT_COMMITTER_EMAIL=新邮箱地址;" HEAD
로그인 후 복사

이 명령은 Git Committer를 다시 작성합니다. 커밋 기록의 정보, 과거 커미터 정보를 업데이트하는 방법입니다.

이 명령은 수정 전 커밋 기록을 모두 삭제하므로 주의해서 작업하시기 바랍니다. 또한 이 명령을 실행하기 전에 데이터 보안을 보장하기 위해 Git 리포지토리를 백업할 수 있습니다.

3. --global 옵션 추가

Git 명령 실행 시 --global 옵션을 추가하지 않으면 수정된 사용자 이름과 이메일 정보가 현재 프로젝트에만 적용되며 전역적으로 적용되지 않습니다. 따라서 명령을 실행할 때 --global 옵션을 추가해야 합니다:

git config --global user.name "新用户名" 
git config --global user.email "新邮箱地址"
로그인 후 복사

--global 옵션을 추가하면 수정한 사용자 정보가 모든 Git 프로젝트에 적용되도록 할 수 있습니다.

요약

위의 솔루션을 사용하면 Git에서 사용자 이름과 이메일 주소를 쉽게 수정할 수 있습니다. 수정 시 입력한 신규 사용자 정보가 업데이트하려는 정보와 정확히 일치하는지 확인하세요. 물론, Git 제출 기록에서 사용자 이름과 이메일 정보를 업데이트하기 위해 filter-branch 명령을 사용할 때는 주의하세요. 작업 중에 데이터 보안을 보장하기 위해 Git 저장소를 백업해야 합니다.

위 내용은 git이 사용자 이름과 이메일을 수정하지 못했습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!