"개인 이메일 주소를 게시합니다." 오류
GitHub에서 프로젝트를 공유하려고 하면 다음과 같은 오류 메시지가 나타납니다.
Can't finish GitHub sharing process
Successfully created project 'myproject' on GitHub, but initial push failed:
remote: error: GH007: Your push would publish a private email address.
failed to push some refs to 'https://github.com/me/myproject.git'
구글에서 오류 메시지를 검색해 봤는데 검색이 안 됐어요.스택 익스체인지도 검색해봤지만 시가는 없었습니다.이 문제를 어떻게 해결할 수 있습니까?
"내 전자 메일을 노출하는 명령줄 푸시 차단" 기능을 활성화하면 회신하지 않는 전자 메일 주소를 사용하도록 Git를 구성할 수도 있습니다.걱정하지 마십시오. 기여 그래프에는 영향을 주지 않습니다.모든 커밋은 계속 사용자 계정과 연결됩니다.
터미널을 엽니다.
현재 작업 디렉터리를 Git 커밋과 연결된 전자 메일 주소를 구성할 로컬 리포지토리로 변경합니다.
GitHub의 개인 설정 → 이메일에서 GitHub 응답 없음 주소를 찾습니다.내 전자 메일 주소 개인 정보 유지 확인란의 설명에 나와 있습니다.일반적으로 고유 식별자와 사용자 이름으로 시작합니다.
Git에 전자 메일 주소를 설정합니다.GitHub에서 제공한 무응답 전자 메일 주소를 사용합니다.
컴퓨터의 모든 리포지토리에 대한 전자 메일 주소 설정
git config --global user.email "{ID}+{username}@users.noreply.github.com"
단일 리포지토리에 대한 전자 메일 주소 설정
git config user.email "{ID}+{username}@users.noreply.github.com"
마지막 커밋 시 작성자 정보를 재설정합니다.
git commit --amend --reset-author
이제 응답하지 않는 전자 메일 주소로 커밋을 푸시할 수 있으며 이후 커밋에도 응답하지 않는 전자 메일 주소가 지정됩니다.
git push
Git를 구성하면 커밋은 대체 "응답 없음" 전자 메일 주소를 사용하고, 그렇지 않은 푸시는 거부됩니다.
경고: 전자 메일 주소가 노출됩니다!각 커밋에는 커밋자의 전자 메일 주소가 포함되며 공용 리포지토리의 경우 이 정보를 공개적으로 사용할 수 있습니다.
--
나도 같은 경험을 했습니다.error: GH007
메시지도 표시하고 다음을 사용하여 문제를 해결했습니다.
- 커밋 전자 메일 주소 설정으로 이동합니다.
- 컴퓨터의 모든 리포지토리에 대한 전자 메일 주소 설정을 따릅니다.
- GitHub 계정을 열고 Settings → Emails(설정 ▁emails 이메일)로 이동합니다.
- 내 전자 메일 주소 개인 정보 유지 확인란을 선택합니다.
- 내 전자 메일을 노출하는 명령줄 푸시 차단 확인란의 선택을 취소합니다.
github.com 의 전자 메일 섹션을 엽니다.https://github.com/settings/emails 을 방문하세요.
에 가다
Keep my email addresses private
섹션을 작성하고 기록합니다.donotreply
이메일 ID.git을 합니다.
donotreply
다음 명령을 사용하여 전자 메일 ID를 전자 메일 ID로 지정합니다.
git config --global user.email "<your_donotreply_email_id"
- 리포지토리에 푸시하지 못한 최근 로컬 커밋(개인 전자 메일 사용)을 되돌립니다.
git reset --soft HEAD~1
- 이러한 커밋 스테이징 및 푸시
git add .
git commit –m "<commit_message>"
git push
이메일을 노출하지 않는 해결책이 있습니다.오류가 발생한 이유는 에서 사용자의 전자 메일 주소를 구성했기 때문입니다.git config --(global|system|local) user.email
.
동일한 전자 메일이 Github 전자 메일이고 전자 메일을 비공개로 설정하는 옵션을 선택한 경우 이 오류는 Git에 의해 플래그가 지정됩니다.
유용하게도 Github은 명령줄 작업에 사용할 수 있는 무응답 전자 메일 주소를 제공합니다.Github 프로필에서 이메일 설정을 확인하기만 하면 됩니다.
user.name 에서 수행한 커밋을 제거하거나 취소하고 변경 사항을 다시 커밋하기 전에 다음에 대한 다른 이메일을 설정할 수 있습니다.
git config --(global|system|local) user.email "<no-reply-email-here>"
.
이제 원격 저장소에 변경 사항을 적용하려고 하면 오류가 사라집니다.
GitHub의 전자 메일 개인 정보 기능을 사용하도록 설정했거나 기본적으로 사용하도록 설정했을 수 있습니다.
GitHub 도움말의 이 페이지에 자세히 설명되어 있습니다.
간단히 말해서, 사용자가 실제 전자 메일 주소인 곳을 밀어넣는 것을 방지하기 위해 사용자 계정에서 활성화할 수 있는 전환 기능이 있습니다.대신 익명 주소를 사용하거나 기능을 사용하지 않도록 선택할 수 있습니다.
두 옵션에 대한 자세한 내용은 동일한 페이지에서 확인할 수 있습니다.
저도 같은 문제가 있었습니다.나의 해결책은 아래 그림에 있습니다.
저도 같은 문제가 있었고, 마지막 커밋에서 작성자 정보를 재설정할 수 없었습니다(여기에서 조언함).대신 .git를 제거하고 다시 git을 실행했기 때문에 더 이상 커밋 변경이 필요하지 않습니다.
언급URL : https://stackoverflow.com/questions/43863522/error-your-push-would-publish-a-private-email-address
'programing' 카테고리의 다른 글
Python에서 고성능 퍼지 문자열 비교, Levenshtein 또는 difflib 사용 (0) | 2023.06.07 |
---|---|
postgresql - sql - '참' 값의 수 (0) | 2023.06.07 |
스키마 유효성 검사에 실패하고 다음 오류가 발생했습니다. 데이터 경로 ".builders['app-shell']"에는 필수 속성 'class'가 있어야 합니다. (0) | 2023.06.07 |
C에서 ((c) + 1)의 유형은 무엇입니까? (0) | 2023.06.07 |
Windows에서 동시에 실행할 수 있는 스레드 수는 몇 개입니까? (0) | 2023.06.02 |