ข้อผิดพลาด“ การส่งข้อความของคุณจะเผยแพร่ที่อยู่อีเมลส่วนตัว”


122

ฉันมากใหม่ GitHub / VCS

เมื่อฉันพยายามแบ่งปันโครงการของฉันบน 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'

ฉัน googled ข้อความแสดงข้อผิดพลาดและไม่ได้รับความนิยม ฉันยังค้นหา Stack Exchange แต่ไม่มีซิการ์ ฉันจะแก้ปัญหานี้ได้อย่างไร?

คำตอบ:


74

ฉันพบerror: GH007ข้อความเดียวกันและใช้สิ่งต่อไปนี้เพื่อแก้ไขปัญหา

  1. ไปที่การตั้งค่าการกระทำของคุณที่อยู่อีเมล
  2. ทำตามการตั้งค่าที่อยู่อีเมลของคุณสำหรับการเก็บข้อมูลในคอมพิวเตอร์ของคุณทุก
  3. เปิดบัญชี GitHub ของคุณและไปที่การตั้งค่า → อีเมล์
  4. เลือกกล่องกาเครื่องหมายเก็บที่อยู่อีเมลของฉันไว้เป็นส่วนตัว
  5. ยกเลิกการเลือกกล่องกาเครื่องหมายบล็อกบรรทัดคำสั่งที่แสดงอีเมลของฉัน

ซึ่งอาจเปิดเผยที่อยู่อีเมลของคุณได้


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

5
@SvenAelterman update your email address to the no-reply email addressที่ไหน ในการตั้งค่า github หรือในเครื่องของคุณที่ใดที่น่าจะส่ง / ใช้ที่อยู่อีเมลส่วนตัว มันทำให้ฉันรู้สึกไม่เข้าใจว่าฉันควรจะคัดลอกและวางที่อยู่อีเมลที่สร้างโดย github โดยตรงกลับไปที่ github แทนที่จะคลิกที่ช่องทำเครื่องหมายดังนั้นฉันจึงถือว่าการอ่านไม่ถูกต้อง หรือเปล่า ??
hippietrail

15
หากต้องการเปลี่ยนอีเมลสำหรับการใช้คอมมิตล่าสุดของคุณgit commit --amend --author="Author Name <email@address.com>"
dspacejs

11
ที่ดีมากที่จะใช้วิธีการแก้ปัญหา @Winfried ของที่นี่ จะไม่เปิดเผยที่อยู่อีเมลของคุณต่อสาธารณะ
Connor

9
เห็นคำตอบที่ถูกต้องคือ @ Winfried ของstackoverflow.com/a/51097104/7872793
เชน

253

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

  1. เปิด Terminal

  2. เปลี่ยนไดเร็กทอรีการทำงานปัจจุบันเป็นที่เก็บในเครื่องที่คุณต้องการกำหนดค่าที่อยู่อีเมลที่คุณเชื่อมโยงกับคอมมิต Git ของคุณ

  3. ค้นหา GitHub อยู่ noreply คุณใน GitHub ของคุณอีเมล์ตั้งค่าส่วนบุคคล→ มีระบุไว้ในคำอธิบายของช่องทำเครื่องหมายเก็บที่อยู่อีเมลของฉันไว้เป็นส่วนตัว โดยทั่วไปแล้วจะเริ่มต้นด้วยตัวระบุที่ไม่ซ้ำกันรวมถึงชื่อผู้ใช้ของคุณ

  4. ตั้งค่าที่อยู่อีเมลใน Git ใช้ที่อยู่อีเมลที่ไม่ตอบกลับของ GitHub

    • การตั้งค่าที่อยู่อีเมลของคุณสำหรับทุกที่เก็บบนคอมพิวเตอร์ของคุณ

      git config --global user.email "{ID}+{username}@users.noreply.github.com"
      
    • การตั้งค่าที่อยู่อีเมลของคุณสำหรับที่เก็บเดียว

      git config user.email "{ID}+{username}@users.noreply.github.com"
      
  5. รีเซ็ตข้อมูลผู้เขียนในคอมมิตล่าสุดของคุณ:

    git commit --amend --reset-author
    

    หากคุณมีการกระทำหลายครั้งกับที่อยู่อีเมลส่วนตัวของคุณโปรดดูคำตอบนี้

  6. ตอนนี้คุณสามารถส่งคอมมิตด้วยที่อยู่อีเมล noreply และการคอมมิตในอนาคตจะมีที่อยู่อีเมลด้วย

    git push
    

เมื่อคุณกำหนดค่า Git แล้วคอมมิตจะใช้ที่อยู่อีเมล "noreply" สำรองของคุณและการผลักดันใด ๆ ที่จะไม่ถูกปฏิเสธ


30
นี่ควรเป็นคำตอบที่ได้รับการยอมรับ คำตอบของ @ sofia-fernandez สามารถเปิดเผยที่อยู่อีเมลได้ มีวิธีใดบ้างที่คุณสามารถทำให้สิ่งนี้สั้นลงและอ่านง่ายขึ้น คุณมีสองส่วนหลักที่ความแตกต่างเพียงอย่างเดียวคือ--globalธง
คอนเนอร์

ฉันมีปัญหากับอินเทอร์เฟซ Linux (ใช้เทอร์มินัล SourceTree และเป็นเวลานานแล้วที่ฉันใช้ VI) คุณสามารถเพิ่มได้-m <comment>หากต้องการหลีกเลี่ยง
MikeL

2

คุณอาจเปิดใช้งาน (หรือเปิดใช้งานแล้วโดยค่าเริ่มต้น) คุณลักษณะความเป็นส่วนตัวของอีเมลของ GitHub

มันเป็นรายละเอียดในหน้านี้ที่ GitHub ช่วยเหลือ

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

รายละเอียดของทั้งสองตัวเลือกที่มีอยู่ในหน้าเดียวกัน


ขอบคุณ! ฉันไม่ระบุตัวตนที่อยู่อีเมลของฉันและนั่นช่วยแก้ปัญหาได้!
user156060

การใช้ที่อยู่อีเมลที่ไม่ระบุตัวตนเป็นทางออกที่ดี หากคุณสร้างไว้ก่อนวันที่ 18 กรกฎาคม 2017 คุณอาจต้องทำอีกครั้งเพื่อเพิ่มตัวเลขแบบสุ่ม 7 หลักเข้าไป
SvenAelterman


0
  1. ไปที่ Settings
  2. Emailsคลิกที่ เลื่อนไปด้านล่าง Keep my email addresses privateส่วนจะอยู่ที่นั่น
  3. จดรหัสอีเมลสาธารณะที่กล่าวถึงที่นั่น
  4. รีเซ็ตรหัสอีเมลส่วนกลางในเครื่องของคุณด้วยรหัสอีเมลสาธารณะที่กล่าวถึงในขั้นตอนก่อนหน้าโดยใช้คำสั่งต่อไปนี้
$ git config — global user.email "<user_email_id>"
  1. ยกเลิกการคอมมิตในเครื่องล่าสุดของคุณที่ถูกบล็อก
$ git reset --soft HEAD~1 
  1. ทำการคอมมิตใหม่และผลักดันมัน มันจะทำงาน.

-3

ฉันมีปัญหาเดียวกัน วิธีแก้ปัญหาของฉันอยู่ในภาพด้านล่าง:

การตั้งค่า GitHub


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

สิ่งนี้แตกต่างจากคำตอบที่ยอมรับ (โพสต์ไว้เกือบหนึ่งปีก่อนหน้านี้) อย่างไร
Peter Mortensen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.