GitHub 메시지의 의미 : 이메일 개인 정보 제한으로 인해 푸시 거부


201

github에서 Pull Request를 수락하고 병합했으며 이제 커밋을 더 이상 가져올 수 없습니다.

메시지는 다음과 같습니다

! [remote rejected] master -> master (push declined due to email privacy restrictions)
error: failed to push some refs to 'git@github.com:FranckFreiburger/vue-resize-sensor.git'


git did not exit cleanly (exit code 1) (3838 ms @ 12/04/2017 21:23:11)

이제 어떻게해야합니까?


1
나는 문서의 페이지를 발견 : help.github.com/en/github/...
— 세바스찬 Norr

답변:


398

원격 저장소는 개인 전자 우편 주소를 나타내는 커밋을 푸시하지 못하도록 구성되었습니다. 예를 들어 GitHub 에서이 기능 을 사용 하려면 내 이메일을 노출 시키는 블록 명령 행 푸시 확인란을 선택했습니다 .

내 이메일을 노출시키는 차단 명령 행 푸시

물론 해당 설정의 선택을 취소 할 수 있지만 저장소에 액세스 할 수있는 모든 사람이 작성자 정보를 읽을 수 있으므로 개인 전자 우편 주소가 전 세계의 모든 사람에게 노출됩니다.

대신 다음을 수행하십시오.

  1. Git에서의 커밋에 기본적으로 사용되는 개인 이메일 주소를 볼 수 있습니다.

    git config --global user.email
  2. GitHub의 개인 설정 → 이메일 에서 GitHub 답장 주소 를 찾으십시오 . 내 이메일 주소를 비공개로 유지 확인란 의 설명에 언급되어 있습니다. 일반적으로 고유 식별자와 사용자 이름으로 시작합니다.

    {ID}+{username}@users.noreply.github.com

    내 이메일 주소를 비공개로 유지

  3. 글로벌 사용자 이메일 주소 설정을 GitHub 비 응답 주소로 변경하십시오.

    git config --global user.email {ID}+{username}@users.noreply.github.com
  4. 마지막 커밋에 대한 작성자 정보를 재설정하십시오.

    git commit --amend --reset-author

    개인 전자 메일 주소로 여러 커밋 이있는 경우이 답변을 참조하십시오 .

  5. 이제 회신 이메일 주소로 커밋을 푸시 할 수 있으며 향후 커밋에는 회신 이메일 주소도 있습니다.

    git push

4
아니, 그것은 내 곁에 매력처럼 일했다. 아마도 당신은 한 단계를 잊었을 것이다. 가능한 해결책이 모두 나와 있기 때문에 이것이 정답입니다.
— Ioanna

4
덕분에, 나는 2 단계 워스 눈여겨볼에서 오류를했을 수도 생각보다 다른 전자 메일을 설정하기 때문에 명시 적으로,이 Virtlink의 지시 @ 따라야한다는 것입니다 <your_uname>@users.noreply.github.com(자신에 설정처럼 None당신의 커밋을 표시되지 발생합니다) 프로필 페이지의 그래프
— adamczi

3
나는 비슷한 신비한 문제가 있었다. 내 실수는 git commit --amend --author "first last me@users.noreply.github.com"그랬고 그렇지 않은 것 같습니다. 당신은 정말 재설정 할 필요가 user.email위와 같이 정확하게 구성 매개 변수를. 건배!
— msanford

6
Virtlink가 제공하는 4 단계는이 오류를 극복하는 데 중요했습니다. 응답이없는 전자 메일 주소를 사용하도록 구성에서 user.email을 설정했지만 푸시 명령은 여전히 ​​개인 전자 메일 게시에 대한 좌절 오류를 반환했습니다. 내가 푸시하려고했던 커밋을 수정하면 푸시를 허용했습니다.
— teaman

3
단일 저장소의 이메일 주소 만 변경할 수 있습니다. 이 답변은 도움이되었지만 github의 도움말을 참조해야 합니다. 단일 리포지토리에 대한 전자 메일 주소 설정
— gfullam

146

전자 메일 주소를 노출시키는 명령 줄 푸시를 차단 하는 새로운 GitHub 설정 때문일 수 있습니다.

이메일 설정 에서 "내 이메일을 노출시키는 차단 명령 행 푸시"상자를 선택 해제 한 후 다시 누르십시오.


20
이 옵션을 선택 취소하면 개인 이메일 주소가 노출됩니까?
— Franck Freiburger

14
그렇습니다.하지만 커밋을 리포지토리에 푸시 한 경우 이미 이메일 주소를 노출했습니다. Github에서 이메일 주소를 표시하지 않더라도 리포지토리를 복제하면 동일한 것을 볼 수 있으며,이 새로운 방지 푸시 기능으로 방지 할 수 있습니다.
— Lasse V. Karlsen

10
이것은 의심스러운 해결책입니다. 적어도 귀하의 이메일 주소가 전 세계에 노출 될 것이라고 언급하십시오.
— kovac

Daniel AA Pelsmaeker 와 Winfried 가 더 좋은 답입니다.
— Peter Mortensen

1

나는 다음과 같이 오류를 해결했다.

git config --global user.email ""

이것은 단지 내 이메일을 공백 (빈 문자열)으로 설정했습니다. 이제 다음을 사용하여 개별 프로젝트에서 이메일을 설정했습니다.

git config user.email "myemail@domain.com"


0
  1. github.com으로 이동하여 프로필을 클릭하십시오.
  2. 설정으로 바로 가기
  3. 왼쪽 탐색 패널에서 '이메일'을 클릭하십시오.
  4. '내 이메일 주소를 비공개로 유지'필드를 검색하십시오.
  5. 이 옵션을 선택 해제하십시오
  6. 이제 다시 확인하십시오. 문제가 해결 된 것 같습니다.

2
이것은 작동하지만 개인 전자 메일 주소가 노출됩니다. 개인 정보 보호가 염려되면 다른 솔루션을 참조하십시오.
— kaznovac

-1

내 이메일을 표시하는 명령 행 푸시 차단을 선택 취소 한 후 명령 행에서 코드를 푸시하십시오.


적용 가능한 같은 것을 알고 있습니까?
— LOG_TAG

이것은 작동하지만 개인 전자 메일 주소가 노출됩니다. 개인 정보 보호가 염려되면 다른 솔루션을 참조하십시오.
— kaznovac

그것은 Jordan Lewis의 대답과 어떻게 다릅니 까?
— Peter Mortensen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.