ความหมายของข้อความ GitHub: การกดปฏิเสธเนื่องจากข้อ จำกัด ความเป็นส่วนตัวทางอีเมล


201

ฉันได้ยอมรับและรวมคำขอดึงเข้ากับ GitHub แล้วและตอนนี้ฉันไม่สามารถดึงข้อผูกพันของฉันได้อีก

ข้อความคือ:

! [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/…
Sebastian Norr

คำตอบ:


398

ที่เก็บข้อมูลระยะไกลได้รับการกำหนดค่าให้ไม่อนุญาตให้คุณส่งข้อความยืนยันที่จะเปิดเผยที่อยู่อีเมลส่วนตัวของคุณ ยกตัวอย่างเช่นใน GitHub คุณได้ตรวจสอบบล็อกดันบรรทัดคำสั่งที่เปิดเผยอีเมลของฉันช่องทำเครื่องหมายเพื่อเปิดใช้งานนี้

บรรทัดคำสั่งที่ถูกบล็อกพุชซึ่งทำให้อีเมลของฉันเปิดเผย

แม้ว่าคุณจะสามารถยกเลิกการเลือกการตั้งค่าดังกล่าวได้ แต่มันจะเปิดเผยที่อยู่อีเมลส่วนตัวของคุณให้ทุกคนในโลกได้รับทราบเนื่องจากผู้เขียนทุกคนสามารถเข้าถึงที่เก็บข้อมูลของคุณได้

ให้ทำสิ่งนี้แทน:

  1. คุณสามารถดูที่อยู่อีเมลส่วนตัวของคุณซึ่งค่าปริยายของคุณจะใช้ใน Git:

    git config --global user.email
  2. หาGitHub อยู่ noreplyใน 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. ตอนนี้คุณสามารถส่งการกระทำด้วยที่อยู่อีเมล noreply และการกระทำในอนาคตจะมีที่อยู่อีเมล noreply เช่นกัน

    git push

4
Nope มันใช้งานได้เหมือนมีเสน่ห์อยู่ข้างฉันบางทีคุณอาจลืมขั้นตอน @adamczi นี่ควรเป็นคำตอบที่ได้รับการยอมรับเนื่องจากมีคำตอบทั้งสองที่เป็นไปได้
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
ขั้นตอนที่ 4 ที่ Virtlink ให้ไว้ข้างต้นเป็นสิ่งสำคัญมากสำหรับข้อผิดพลาดนี้ ฉันได้ตั้งค่าผู้ใช้อีเมลในการกำหนดค่าให้ใช้ที่อยู่อีเมลที่ไม่ตอบกลับของฉัน แต่คำสั่ง Push ยังคงส่งคืนข้อผิดพลาดที่น่าผิดหวังเกี่ยวกับการเผยแพร่อีเมลส่วนตัว เมื่อฉันแก้ไขความมุ่งมั่นที่ฉันพยายามที่จะผลักดันมันก็อนุญาตให้มีการผลักดัน
teaman

3
คุณอาจต้องการเปลี่ยนที่อยู่อีเมลสำหรับที่เก็บเดียว คำตอบนี้มีประโยชน์ แต่ฉันต้องอ้างถึงบทความช่วยเหลือของ github: การตั้งค่าที่อยู่อีเมลของคุณสำหรับที่เก็บเดียว
gfullam

146

อาจเกิดจากการตั้งค่า GitHub ใหม่ที่บล็อกบรรทัดคำสั่งพุชที่เปิดเผยที่อยู่อีเมลของคุณ

ลองยกเลิกการทำเครื่องหมายที่ช่อง "บล็อกบรรทัดคำสั่งพุชที่เปิดเผยอีเมลของฉัน" ในการตั้งค่าอีเมลของคุณจากนั้นกดอีกครั้ง


20
การยกเลิกการเลือกตัวเลือกนี้จะทำให้ที่อยู่อีเมลส่วนตัวของฉันปรากฏ
Franck Freiburger

14
ใช่นั่นคือสิ่งที่มันจะทำ แต่คุณได้เปิดเผยที่อยู่อีเมลของคุณแล้วหากคุณได้ยืนยันที่เก็บข้อมูลของคุณ แม้ว่า Github จะไม่แสดงที่อยู่อีเมลของคุณถ้าฉันโคลนที่เก็บของคุณฉันสามารถเห็นพวกเขาได้เหมือนกันและนั่นคือสิ่งที่การป้องกันการผลักใหม่นี้จะป้องกันไม่ให้
Lasse V. Karlsen

10
นี่เป็นทางออกที่น่าสงสัย อย่างน้อยก็พูดถึงว่าสิ่งนี้จะเปิดเผยที่อยู่อีเมลของคุณไปทั่วโลก
kovac


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อย่างไร?
ปีเตอร์มอร์เทนเซ่น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.