การคอมมิต GitHub จะไม่ถูกบันทึกในปฏิทิน "การมีส่วนร่วมของคุณ"


94

ฉันทำการคอมมิตอย่างต่อเนื่องกับGitHubrepos ของฉันจาก linux shell ของฉันและพวกมันก็ปรากฏบนเว็บไซต์อย่างดีเท่าที่ควร ปัญหาเดียวคือส่วน "การมีส่วนร่วมของคุณ" ไม่แสดงกิจกรรมล่าสุด ฉันมีสี่เหลี่ยมสีเขียว 1 อันจากวันหนึ่งในเดือนพฤศจิกายนซึ่งฉันไม่รู้ว่าฉันได้มาอย่างไร แต่การมีส่วนร่วมอื่น ๆ ทั้งหมดไม่ปรากฏในปฏิทิน (แต่อีกครั้งพวกเขาจะ ปรากฏใน repos ของพวกเขา
ฉันพลาดอะไรที่นี่?

ไซต์ github ของฉัน


1
คุณผูกพันกับการซื้อคืนส่วนตัวหรือไม่?
madhead

ไม่ repos ทั้งหมดของฉันเป็นแบบสาธารณะ
Roey Angel

2
คำถามนี้ดีกว่าสำหรับWeb Apps (เนื่องจากไม่เกี่ยวข้องกับการเข้ารหัส แต่วิธีการทำงานของอินเทอร์เฟซ / บัญชี) หรือตรงไปที่ GitHub: การสนับสนุน
สุ่ม

อันที่จริง @harsh ให้คำตอบที่ดีที่สุด
Ali Saberi

คำตอบ:


48

นี่เป็นปัญหา Github ที่บางครั้งกลไกการอัปเดตไม่ทำงานและกลายเป็น "แคชเก่า" นี่ไม่ใช่เรื่องร้ายแรงเพียงส่งอีเมลไปที่ support@github.com เพื่ออธิบายปัญหาแล้วพวกเขาจะแก้ไขได้ทันที


2
ขณะนี้ Github ต้องการการร้องขอการสนับสนุนใหม่ถูกสร้างขึ้นโดยใช้เว็บไซต์การสนับสนุนของพวกเขา: support.github.com/contact
Naren

70

จากคอมไพล์

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

สาเหตุที่การมีส่วนร่วมเหล่านั้นไม่ปรากฏขึ้นก็คือเราติดตามการสนับสนุนเฉพาะเมื่อส่งไปยังสาขาเริ่มต้นหรือสาขา gh-pages

https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile#which-contributions-are-counted

เมื่อการมีส่วนร่วมของคุณรวมเข้ากับค่าเริ่มต้นหรือ gh-page คุณจะได้รับเครดิตในวันที่ที่คุณเขียน

ดังนั้นในกรณีของฉันฉันต้องรวมสาขา 'เลย์เอาต์' ของฉันกับสาขา 'หลัก' เพื่อดู 'การมีส่วนร่วมของคุณ' ที่ปรากฏในปฏิทิน


2
ฉันทำงานในสาขาของตัวเองเป็นจำนวนมากจากนั้นรวมเข้ากับสาขา 'หลัก' แต่ผลงานของฉันยังไม่ปรากฏ ความคิดใด ๆ ? แก้ไข: ด้วยเหตุผลบางประการที่อยู่อีเมลของฉันถูกตั้งค่าเป็นอีเมลอื่นในแอปพลิเคชันที่ฉันใช้เพื่อจัดการที่เก็บ git ของฉัน (SourceTree) ฉันได้เพิ่มที่อยู่อีเมลนั้นในบัญชี GitHub ของฉันแล้ว แต่ยังไม่เห็นการเปลี่ยนแปลงใด ๆ ฉันหวังว่าพวกเขาจะใช้เวลาสักครู่ในการคำนวณสถิติใหม่
robert.bo.roth

4
@ robert.bo.roth ~ "เมื่อคุณเชื่อมโยงอีเมลคุณอาจต้องติดต่อฝ่ายสนับสนุนเพื่อให้พวกเขาสามารถกรอกข้อมูลการมีส่วนร่วมก่อนหน้านี้ของคุณได้" ที่มา - git.io/NtUV5A
ikaruss

จะเกิดอะไรขึ้นถ้าฉันทำการผูกมัดกับสาขาอื่นแล้วเจ้าของ repo รวมพวกเขาเป็นmasterสาขา การมีส่วนร่วมของฉันจะบันทึกไว้ในปฏิทิน "การมีส่วนร่วมของคุณ" หรือไม่
โซเชียล

สายไปแล้วตอนนี้คุณคงรู้แล้ว แต่ในกรณีนี้จะเป็นประโยชน์กับคนอื่น: @soshial ใช่กรณีนี้ :) มันจะย้อนหลังและรับทราบหลังจากรวมเข้าด้วยกันแล้วเท่าที่ฉันสังเกตเห็น
Ashley Davies

เช่นเดียวกันกับฉัน หลังจากรวมเข้ากับสาขาเริ่มต้นการมีส่วนร่วมจะปรากฏทันที ขอบคุณ
netishix

69

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

git config user.emailคุณสามารถค้นหาที่อยู่อีเมลที่คุณใช้สำหรับเก็บข้อมูลที่มี


4
ฉันมีสถานการณ์เดียวกันนี่เป็นเรื่องแปลกหากพวกเขาแนบการกระทำกับรหัสผู้ใช้แทนอีเมลซึ่งเราสามารถเปลี่ยนแปลงได้
Mingtao Zhang

1
นี่เป็นคำตอบที่เป็นไปได้มากที่สุด - ฉันเคยเห็นสิ่งนี้เกิดขึ้นมาก่อนแม้ว่าการกระทำและการประชาสัมพันธ์จะผ่านไปด้วยดี -
planetguru

ขอบคุณมาก - นี่คือปัญหาที่เกิดขึ้น ทำgit config user.email <my email>และผลักดันการกระทำและตอนนี้มันกำลังติดตามการกระทำของฉัน ฉันจะเขียนการสนับสนุนของพวกเขาต่อไปเนื่องจากฉันมีเวลาหลายวันที่ฉันทำงาน 14 ชั่วโมงสร้าง repo ใหม่และเขียนเวอร์ชันอัลฟ่าทั้งหมด แต่ฉันมีกิจกรรมสำหรับประเด็นที่ฉันเปิดไว้เท่านั้น
Josh จาก Qaribou

@turtlemonvh เป็นไปได้ที่จะเชื่อมโยงอีเมลที่แตกต่างกันไปยัง repos ต่างๆ ดังนั้นหากคุณใช้คอมพิวเตอร์ที่ทำงาน แต่มี repo โปรเจ็กต์ส่วนบุคคล "personal_project" และ repo "work_project" ที่เก็บใหม่คุณสามารถกำหนดค่า ID อีเมลแยกกันสำหรับทั้งคู่ได้ ไปที่ไดเร็กทอรี repo บนเทอร์มินัลและทำสิ่งต่อไปนี้ $pwd personal_project $git config user.email "your personal email" $pwd work_project $git config user.email "work email"ซึ่งควรนับการมีส่วนร่วมของคุณอย่างถูกต้อง
Chaitra Suresh

นี่น่าจะเป็นคำตอบที่ยอมรับได้ FYI คุณสามารถเปลี่ยนประวัติของคอมไพล์ได้ นี่คือคำแนะนำจาก github: changing-author-info
Ben



12

"คุณต้องทำการเปลี่ยนแปลงด้วยรหัสอีเมลเดียวกับที่คุณใช้เพื่อเข้าสู่ระบบบัญชี github ของคุณ"

วิธีแก้:

  • เปลี่ยนรหัสอีเมลส่วนกลางสำหรับที่เก็บทั้งหมดโดยใช้คำสั่งต่อไปนี้

git config - ผู้ใช้ทั่วโลกอีเมล abc@xyz.com

  • หรือเปลี่ยนรหัสอีเมลสำหรับที่เก็บเดียว จากภายในที่เก็บอนุภาคให้เรียกใช้คำสั่งด้านล่าง

git config user.email abc@xyz.com

  • หรือในที่เก็บเปิดไฟล์. git / config และแก้ไข

อีเมล = abc@xyz.com name = abc

สามารถดูสาเหตุอื่น ๆ ได้ที่นี่ https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/


11

ตรวจสอบให้แน่ใจว่าอีเมลท้องถิ่นของคุณตรงกับอีเมลในบัญชี

ไปที่เทอร์มินัลและภายในโฟลเดอร์ที่คุณกำลังกดคอมมิตรัน:

git config --global user.email
  #=> TRICULI.TO@MAIL.com

git config --system user.email
  #=> 

git config --local user.email
  #=> triculito@mail.com

มีบางอย่างที่คล้ายกันเกิดขึ้นกับฉัน อีเมลในบัญชีของฉันเป็นอีเมลใน --global แต่ --local ของฉันแตกต่างกันเล็กน้อยไม่มี ""

(ใน Gmail ไม่มีความแตกต่างระหว่างอีเมลเหล่านี้ แต่ก็ทำงานเหมือนกันทุกประการ)


1
สิ่งนี้ได้ผลสำหรับฉัน ทั่วโลกของฉันถูกต้อง แต่ระบบและอีเมลในระบบว่างเปล่า เพิ่มสองคนนั้นและตอนนี้ความมุ่งมั่นของฉันปรากฏขึ้น
KellyCode

10

ดังนั้นสิ่งนี้มักเกิดขึ้นเนื่องจากหลายปัจจัยซึ่งคุณต้องไปที่ความช่วยเหลือ GitHubนี้

ข้อผิดพลาดที่พบบ่อยที่สุดที่ฉันพบคือ:

  1. อีเมลไม่ได้กำหนดค่าอย่างถูกต้องบนเครื่องท้องถิ่น (แล็ปท็อป / พีซีของคุณ)
  2. ส้อม
  3. ไม่ใช้สาขาเริ่มต้นหรือ gh-pages สำหรับการคอมมิต

เมื่อเร็ว ๆ นี้ฉันมีปัญหา 1 เป็นการส่วนตัวซึ่งฉันไปที่เทอร์มินัล / cmd / cliและกำหนดค่าที่อยู่อีเมลของฉันในเครื่องโดยเรียกใช้คำสั่งนี้

git config --global user.email yourname@email.address

เมื่อเสร็จแล้วให้ลองเรียกใช้การกำหนดค่านี้อีกครั้งดังนี้:

git config --global user.email

คุณควรจะเห็น:

yourname@email.address

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


ขอบคุณสำหรับการแก้ไข @aasmin ali
geekidharsh

7

บางที Github อาจแก้ไขปัญหานี้ได้ มีวิธีง่ายๆวิธีหนึ่งคือไปที่การตั้งค่าอีเมล github.com: https://github.com/settings/emails

การตั้งค่าส่วนบุคคล -> อีเมล

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

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


ยินดีที่ได้เห็นการทำงานหนักของฉันในที่สุดก็ปรากฏขึ้นอีกครั้ง ... :)
ทำงาน

นี่คือสิ่งที่ฉันทำและมันได้ผลเหมือนมีเสน่ห์ ฉันเห็นความมุ่งมั่นเก่า ๆ ของฉันที่ฉันคิดว่า "หายไป"!
Afflatus

ฉันได้ทำสิ่งนี้แล้ว แต่ยังไม่เห็นผลงานของฉันบนกราฟ. :( ฉันพลาดอะไรไปหรือเปล่าthen you will find your previous commits are all recorded in the 'Your Contributionsปฏิทิน` <- คำพูดนี้ดูเหมือนจะไม่ถูกต้องขั้นตอนนี้ต้องใช้เวลาหรือไม่
Michael Harley

ฉันได้แก้ไขปัญหาการบริจาคของฉันแล้วโดยติดต่อฝ่ายสนับสนุนของ Github ใช่ฉันตรวจสอบว่าที่อยู่อีเมลของฉันถูกต้องแล้ว
Michael Harley

6

ฉันมีปัญหาเดียวกันใน Xcode 9 สำหรับการพัฒนา iOS

ใน Github ฉันสังเกตเห็นผู้เขียนที่ไม่เกี่ยวข้อง ป้อนคำอธิบายภาพที่นี่

แม้ว่าฉันจะทำการคอมมิตใน Xcode ไม่มีการสนับสนุนในปฏิทิน "การมีส่วนร่วมของคุณ"

วิธีการแก้:

เปลี่ยนชื่อคอมมิตเตอร์และอีเมลทั่วโลก
ที่อยู่อีเมลที่ใช้สำหรับคอมมิตต้องเชื่อมโยงกับบัญชี GitHub ของคุณ

ในอาคารผู้โดยสาร:

$ git config --global user.name "Full Name"
$ git config --global user.email "fullname@gmail.com"

ดูวิธีใช้ GitHub: การตั้งค่าที่อยู่อีเมลของคุณใน Git


4

ฉันมีปัญหาในการดูแอตทริบิวต์สำหรับการคอมมิตใน repo ส่วนตัวที่เพิ่มเข้ามาในองค์กรของฉันหลังจากที่มีการคอมมิตหลายครั้งเกิดขึ้น (คอมมิตใหม่แสดงอย่างถูกต้อง) และทำได้โดยการลบที่อยู่อีเมลออกจากโปรไฟล์ของฉันเท่านั้น จากนั้นเพิ่มที่อยู่อีเมลเดิมอีกครั้ง

ดูเหมือนว่าการทำเช่นนี้จะช่วยแก้ปัญหาการแคชภายใน GitHub


4

ปรากฎว่าก่อนหน้านี้ฉันได้เปลี่ยนที่อยู่อีเมลของฉันบน GitHub และฉันก็ลืมที่จะเปลี่ยนที่อยู่ในเครื่องด้วย


2

ฉันมีปัญหาเดียวกันและสิ่งนี้ใช้ได้กับฉัน: ตัวตรวจสอบการมีส่วนร่วมของ GitHub ลิงก์ด้านล่าง เมื่อติดตั้งแล้วโปรแกรมจะตรวจสอบความถูกต้องของการกระทำล่าสุดของคุณและให้รายการกฎแก่คุณโดยที่กฎ / กฎไม่ตรงตามสีแดง

ปัญหาของฉันคือ GitHub ใช้ชื่อเทอร์มินัล Cygwin เป็นที่อยู่อีเมลดังนั้นฉันจึงเพิ่งเพิ่มชื่อเทอร์มินัล Cygwin ของฉันในโปรไฟล์ของฉันและคอมมิตล่าสุดทั้งหมดถูกเพิ่มในปฏิทิน GitHub ของฉัน

การกระทำของคุณจะไม่ถูกนับเป็นผลงาน! ตรวจสอบรายละเอียดด้านล่าง: https://github.com/jdennes/contribution-checker


2

ฉันต้องเพิ่มอีเมลของฉันในการตั้งค่า SourceTree ด้วยตนเองแม้ว่าจะgit configมีการกำหนดค่าที่อยู่อีเมลที่ถูกต้องก็ตาม หลังจากทำสิ่งนี้ GitHub ก็เริ่มบันทึกความมุ่งมั่นของฉันในกราฟการมีส่วนร่วมของฉัน

ภาพหน้าจอการตั้งค่า SourceTree



2

ฉันมีปัญหาเดียวกันปรากฎว่าเป็นเพราะอีเมลในคอมไพล์ในพื้นที่ของฉันไม่ตรงกับอีเมลในบัญชี GitHub ของฉัน

ในการอัปเดตอีเมลบนเครื่องของคุณ:

git config --global user.email "your.email@email.com"

ตรวจสอบว่าคอมมิตทั้งหมดของคุณได้รับการอัปเดตบน github ของคุณหากไม่ได้คุณสามารถตรวจสอบคอมมิตแต่ละรายการเพื่อดูว่าการคอมมิตนั้นเกี่ยวข้องกับอีเมลใดโดยคลิกที่คอมมิตและเพิ่ม ".patch" ต่อท้าย URL การคอมมิตดังนี้:

https://github.com/username/repoName/commit/9fbe83f71cfc3503.patch

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

ตรวจสอบการกระทำอีกครั้งและคุณจะเห็นชื่อผู้ใช้และเครดิตของคุณ :)


2

GitHub ระบุอย่างชัดเจนว่าพวกเขาวัดการมีส่วนร่วมของคุณอย่างไรในความช่วยเหลือของพวกเขา:

  • ปัญหาและคำขอดึง:

    • เฉพาะในกรณีที่เปิดในที่เก็บแบบสแตนด์อโลนไม่ใช่ทางแยก
  • ข้อผูกมัด:
    เฉพาะในกรณีที่เป็นไปตามเงื่อนไขต่อไปนี้:

    • ที่อยู่อีเมลที่ใช้สำหรับการคอมมิตเชื่อมโยงกับบัญชี GitHub ของคุณ

    • คอมมิตถูกสร้างขึ้นในที่เก็บแบบสแตนด์อโลนไม่ใช่ทางแยก

    • มีการกระทำ:

      • ในสาขาเริ่มต้นของที่เก็บ (โดยปกติจะเป็นมาสเตอร์)
      • ในสาขา gh-pages (สำหรับที่เก็บที่มีไซต์โครงการ)

    นอกจากนี้อย่างน้อยหนึ่งข้อต่อไปนี้ต้องเป็นจริง:

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

หมายเหตุ:หลังจากทำการคอมมิตที่ตรงตามข้อกำหนดเพื่อนับเป็นการบริจาคคุณอาจต้องรอเป็นเวลาถึง 24 ชั่วโมงจึงจะเห็นผลงานปรากฏในกราฟการมีส่วนร่วมของคุณ


1

ฉันเพิ่งเพิ่มอีเมลอีกครั้งผ่านทางบรรทัดคำสั่งและช่วยแก้ปัญหาได้:

$ git config user.email "myemil@mydomain.com"

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


1

ฉันมีปัญหาเดียวกันและวิธีแก้ก็ค่อนข้างง่าย ฉันตั้งค่าอีเมลผิดสำหรับการกำหนดค่าอีเมลส่วนกลาง

git config --global user.email "email@yourmail.com"

ตรวจสอบให้แน่ใจว่าอีเมลข้างต้นและอีเมลบัญชี GitHub ของคุณเหมือนกัน


1

ฉันแก้ไขปัญหาที่คล้ายกันนี้โดยใช้ชื่อผู้ใช้ของโปรไฟล์ GitHub เป็นชื่อผู้ใช้ git ของฉันในสภาพแวดล้อมท้องถิ่นของฉัน

ดังตัวอย่าง

https://github.com/susithrj

ตั้งชื่อผู้ใช้ส่วนกลางเป็นsusithrjในการกำหนดค่าคอมไพล์ในเครื่องของคุณ

git config --global user.name "susithrj"


0

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

จาก~ไดเรกทอรีของคุณเพิ่ม:

$ cat <<EOF >> ~/.aliases
 function git_change_authorship {
 git filter-branch -f --env-filter "
  GIT_AUTHOR_NAME=\"\$1\"
  GIT_AUTHOR_EMAIL=\"\$2\"
  GIT_COMMITTER_NAME=\"\$1\"
  GIT_COMMITTER_EMAIL=\"\$2\"
 "
 }
 alias gca=git_change_authorship
 EOF

 $ source ~/.aliases

จากนั้นในไดเร็กทอรี git project ของคุณให้รัน gca <git username> <git email address>

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


0

ฉันตรวจสอบส่วน / แท็บ "ข้อมูลเชิงลึก" ของที่เก็บของฉันและแทนที่จะเป็นผู้ใช้ปัจจุบันของฉันมีผู้ใช้ที่ไม่ระบุชื่อ (ซึ่งก็คือฉันด้วย) ดังนั้นฉันจึงเปลี่ยนการกำหนดค่าอีเมลในคอมพิวเตอร์ปัจจุบันของฉันเป็นแบบที่ฉันใช้ github ด้วย ตามที่อธิบายไว้ข้างต้น

Insigths


0

คุณสามารถเก็บอีเมลของคุณไว้เป็นส่วนตัวและยังแสดงการมีส่วนร่วมในปฏิทินของคุณได้ คุณสามารถเลือกที่จะเก็บที่อยู่อีเมลของคุณไว้เป็นส่วนตัวจากการตั้งค่าอีเมล github และใช้ที่อยู่อีเมล github noreplyในการกำหนดค่าคอมไพล์ของคุณ

git config user.email "xxxxxxxxxxx@users.noreply.github.com"

บันทึก

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

Your push would publish a private email address.

ในขณะที่พยายามผลักดันไปยัง repo ของฉัน ฉันลบอีเมลออก การผลักดันหลังจากนี้ประสบความสำเร็จ แต่การมีส่วนร่วมไม่ได้รับการบันทึกไว้ในปฏิทินของฉัน

ตามที่ GitHub กล่าวไว้ในหน้าการตั้งค่าอีเมล

เราจะลบอีเมลโปรไฟล์สาธารณะของคุณและใช้ xxxxxxxxxxx@users.noreply.github.com เมื่อดำเนินการ Git บนเว็บ (เช่นแก้ไขและรวม) และส่งอีเมลในนามของคุณ หากคุณต้องการการดำเนินงานบรรทัดคำสั่ง Git ใช้อีเมลส่วนตัวของคุณคุณต้องตั้งค่าอีเมลของคุณใน Git



0

"ปฏิทินการมีส่วนร่วม" หรือ "ภาพรวมกิจกรรม" บน github จะบันทึกเฉพาะการคอมมิตที่เกี่ยวข้องกับที่อยู่อีเมลที่บันทึกไว้ในบัญชี github เท่านั้น

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

ดังที่ได้กล่าวไว้แล้วโดยคนอื่น ๆ ในชุดข้อความนี้ให้ค้นหาที่อยู่อีเมลที่บันทึกไว้ในเครื่องปัจจุบันโดย:

git config user.email

หากไม่ตรงกับเมลบน github ให้เปลี่ยนโดยใช้:

git config --global user.email my_email@gmail.com

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

เปลี่ยนที่อยู่อีเมลเพื่ออัปเดตภาพรวมสำหรับการกระทำที่ผ่านมา

คุณทราบดีว่าการกระทำหลายอย่างในอดีตของคุณไม่ได้รับการบันทึกอย่างถูกต้องใน "ภาพรวมการมีส่วนร่วม" ของ Github: ป้อนคำอธิบายภาพที่นี่

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

สรุปสั้น ๆ :

  1. เปิด git bash
  2. โคลนที่เก็บเปล่า

    git clone --bare https://github.com/user/repo.git
    cd repo.git
    
  3. วางรหัสต่อไปนี้ลงคอนโซลทุบตีคอมไพล์หลังจากเปลี่ยนตัวแปรOLD_EMAIL, CORRECT_NAMEและCORRECT_EMAIL:

    #!/bin/sh
    
    git filter-branch --env-filter '
    
    OLD_EMAIL="your-old-email@example.com"
    CORRECT_NAME="Your Correct Name"
    CORRECT_EMAIL="your-correct-email@example.com"
    
    if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
    then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
    fi
    if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
    then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
    fi
    ' --tag-name-filter cat -- --branches --tags
    
  4. กด Enter เพื่อเรียกใช้สคริปต์

  5. ส่งประวัติที่แก้ไขไปที่ github
    git push --force --tags origin 'refs/heads/*'
    

ขั้นตอนนี้ควรอัปเดต "ภาพรวมการมีส่วนร่วม" และตอนนี้ยังแสดงคอมมิตที่ไม่ได้แสดงมาก่อน: ป้อนคำอธิบายภาพที่นี่

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


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