Komit GitHub tidak dicatat di kalender 'Kontribusi Anda`

94

Saya telah membuat komitmen terus menerus ke GitHubrepo saya dari shell linux saya dan mereka muncul dengan baik di situs web sebagaimana mestinya. Satu-satunya masalah adalah bahwa bagian "Kontribusi Anda" tidak menampilkan aktivitas terbaru. Saya punya satu kotak hijau dari beberapa hari di bulan November yang saya tidak tahu bagaimana saya punya tapi semua kontribusi lain tidak muncul di kalender (tapi sekali lagi, mereka tidak muncul dalam repo mereka.
Apa yang saya hilang di sini?

Situs github saya

Roey Angel
sumber
1
Apakah Anda berkomitmen pada repo pribadi?
gila
tidak, semua repo saya bersifat publik
Roey Angel
2
Pertanyaan ini lebih baik untuk Aplikasi Web (karena tidak berurusan dengan pengkodean tetapi bagaimana antarmuka / akun bekerja) atau langsung ke GitHub: Dukungan
acak
Sebenarnya, @harsh memberikan jawaban terbaik
Ali Saberi

Jawaban:

48

Ini adalah masalah Github yang terkadang mekanisme pembaruannya tidak berfungsi dan berubah menjadi "cache basi". Ini tidak serius, cukup kirim email ke [email protected] menjelaskan masalahnya dan mereka akan segera memperbaikinya.

Nevik Rehnel
sumber
2
Github sekarang memerlukan, permintaan dukungan baru dibuat menggunakan situs web Dukungan mereka: support.github.com/contact
Naren
70

dari git

Saya baru saja mengintip kontribusi Anda untuk repositori GoTime2 dan tampaknya Anda telah mendorong komitmen ke cabang tata letak.

Alasan mengapa kontribusi tersebut tidak muncul adalah karena kita hanya melacak kontribusi komit ketika dibuat ke cabang default repositori atau cabang halaman gh:

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

Setelah kontribusi Anda digabungkan ke default atau gh-pages, Anda akan mendapatkan kreditnya pada tanggal Anda menulisnya.

jadi dalam kasus saya, saya harus menggabungkan cabang 'tata letak' saya dengan cabang 'master' untuk melihat 'kontribusi Anda' muncul di kalender.

Jonathan Chad Faling
sumber
2
Saya sering bekerja di cabang saya sendiri, dan kemudian bergabung ke cabang 'master', tetapi kontribusi saya masih belum muncul. Ada ide? Sunting: karena alasan tertentu alamat email saya disetel ke email berbeda dalam aplikasi yang saya gunakan untuk mengelola repositori git saya (SourceTree). Saya telah menambahkan alamat email itu ke akun GitHub saya, tetapi masih tidak melihat perubahan apa pun. Saya berharap hanya perlu beberapa saat bagi mereka untuk menghitung ulang statistiknya.
robert.bo.roth
4
@ robert.bo.roth ~ "Setelah Anda menautkan email, Anda mungkin perlu menghubungi dukungan agar mereka dapat mengisi kembali kontribusi Anda sebelumnya." Sumber - git.io/NtUV5A
ikaruss
Bagaimana jika saya membuat komitmen ke cabang lain dan kemudian pemilik repo menggabungkannya menjadi mastercabang. Akankah kontribusi saya dicatat dalam kalender 'Kontribusi Anda`?
soshial
Terlambat, jadi Anda mungkin tahu sekarang, tetapi jika ini bermanfaat bagi orang lain: @soshial ya, inilah masalahnya :) itu mundur dan mengakui setelah mereka digabungkan, sejauh yang saya perhatikan.
Ashley Davies
Hal yang sama terjadi pada saya. Setelah bergabung ke cabang default, kontribusi segera muncul. Terima kasih
netishix
69

Bagi saya masalah ini disebabkan oleh saya melakukan dari komputer kerja saya di mana saya menggunakan email yang berbeda di gitconfig saya. Menambahkan alamat email kantor saya ke akun github saya tidak membuat komit sebelumnya muncul di ringkasan, tetapi komit baru sekarang muncul sebagaimana mestinya.

Anda dapat menemukan alamat email yang Anda gunakan untuk repositori git config user.email.

turtlemonvh.dll
sumber
4
Saya mendapat situasi yang sama, ini aneh, jika mereka melampirkan komit ke userid daripada Email, yang bisa kita ubah.
Mingtao Zhang
1
Ini adalah jawaban yang paling mungkin - Saya telah melihat ini terjadi sebelumnya meskipun komitmen dan PR berjalan dengan baik -
planetguru
Terima kasih banyak - inilah masalah yang sebenarnya saya alami. Melakukan git config user.email <my email>dan mendorong komit, dan sekarang melacak komit saya. Saya akan menulis dukungan mereka selanjutnya, karena saya memiliki hari-hari di mana saya bekerja 14 jam, membuat repo baru dan mendapatkan seluruh versi alfa tertulis, namun saya hanya memiliki aktivitas untuk masalah yang saya buka terhadapnya.
Josh dari Qaribou
@turtlemonvh Dimungkinkan untuk menautkan email yang berbeda ke repo yang berbeda. Jadi, jika Anda menggunakan komputer kantor tetapi memiliki repo proyek pribadi "personal_project" dan repo lain "work_project", Anda dapat mengonfigurasi ID email terpisah untuk keduanya. Pergi ke direktori repo di terminal dan lakukan hal berikut. $pwd personal_project $git config user.email "your personal email" $pwd work_project $git config user.email "work email"Itu akan menghitung kontribusi Anda dengan benar.
Chaitra Suresh
Ini mungkin jawaban yang harus diterima. FYI, Anda dapat mengubah riwayat git. Berikut adalah instruksi dari github: mengubah-penulis-info
Ben
16

Ini berhasil! Saya baru saja menggunakan $ git config user.email "my email address used on my git repo"dan berhasil.

Tyler Morgan
sumber
12

"Anda harus melakukan perubahan dengan id email yang sama dengan yang Anda gunakan untuk masuk ke akun github Anda"

Bagaimana menyelesaikan:

  • Ubah id email global untuk semua repositori menggunakan perintah berikut.

git config --global user.email [email protected]

  • Atau Ubah id email untuk satu repositori tertentu. Dari dalam repositori partikel, jalankan perintah di bawah ini

git config user.email [email protected]

  • Atau di repositori, buka file .git / config dan edit

email = [email protected] name = abc

penyebab lain dapat ditemukan di sini https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/

Vishwanath gowda k
sumber
11

Pastikan email lokal Anda sama persis dengan yang ada di akun.

Pergi ke terminal dan di dalam folder Anda mendorong komit, jalankan:

git config --global user.email
  #=> [email protected]

git config --system user.email
  #=> 

git config --local user.email
  #=> [email protected]

Sesuatu yang serupa terjadi pada saya. Email di akun saya adalah yang ada di - global, tetapi --lokal saya sedikit berbeda, tidak '.'.

(Di Gmail tidak ada perbedaan antara email-email tersebut, mereka bekerja sama persis).

drjorgepolanco
sumber
1
Ini berhasil untuk saya. Global saya benar tetapi email sistem dan lokal kosong. Menambahkan keduanya dan sekarang komit saya muncul.
KellyCode
10

jadi ini biasanya terjadi karena banyak faktor, yang karenanya Anda harus mengunjungi bantuan GitHub ini

Kesalahan paling umum yang saya temukan adalah:

  1. Email tidak dikonfigurasi dengan benar di komputer lokal. (laptop / pc Anda).
  2. Forking.
  3. Tidak menggunakan default atau cabang gh-pages untuk komit.

Saya pribadi mengalami masalah 1 baru-baru ini, di mana saya pergi ke terminal / cmd / cli saya dan mengkonfigurasi alamat email saya secara lokal dengan menjalankan perintah ini

git config --global user.email [email protected]

Setelah selesai, coba jalankan konfigurasi ini lagi seperti ini:

git config --global user.email

Anda harus dapat melihat:

[email protected]

Jika ini benar, Anda telah berhasil mengonfigurasi mesin lokal Anda dengan repo publik global Anda. Sekarang komit Anda berikutnya akan dikreditkan ke kalender Anda.

geekidharsh
sumber
Terima kasih atas perbaikannya @aasmin ali
geekidharsh
7

Mungkin Github telah memperbaiki masalah ini. Ada satu cara sederhana, buka pengaturan email github.com: https://github.com/settings/emails

Pengaturan pribadi -> Email

Anda dapat menambahkan alamat email di sana, dan memverifikasi alamat email Anda yang lebih baru dengan mengirimkan tautan verifikasi, kemudian Anda akan menemukan semua komitmen Anda sebelumnya dicatat di kalender 'Kontribusi Anda`. Dan verifikasi email ini juga akan memungkinkan Anda menerima pemberitahuan dan penyetelan ulang kata sandi dari GitHub.

Alamat email baru Anda akan digunakan untuk pemberitahuan terkait akun (mis. Perubahan akun dan tanda terima penagihan) serta operasi GitHub berbasis web (mis. Pengeditan dan penggabungan).

Guohua
sumber
Senang melihat semua kerja keras saya akhirnya ditunjukkan lagi ... :)
bekerja pada
Inilah yang saya lakukan dan itu bekerja dengan sangat baik. Saya melihat semua komitmen lama saya yang menurut saya "hilang"!
Afflatus
Saya telah melakukan ini. Tapi tetap tidak bisa melihat pekerjaan saya di grafik. :( Apakah saya melewatkan sesuatu? then you will find your previous commits are all recorded in the 'Your ContributionsCalendar` <- Pernyataan ini sepertinya tidak benar. Apakah langkah ini membutuhkan waktu?
Michael Harley
Saya telah memperbaiki masalah kontribusi saya, dengan menghubungi dukungan Github. Ya, saya telah memeriksa bahwa alamat email saya benar.
Michael Harley
6

Saya memiliki masalah yang sama di Xcode 9 untuk pengembangan iOS.

Di Github, saya melihat seorang penulis non-pelaku. masukkan deskripsi gambar di sini

Meskipun saya membuat komitmen di Xcode. Tidak ada kontribusi di Kalender 'Kontribusi Anda`.

Larutan:

Ubah Nama dan Email Pelaku Secara Global
Alamat email yang digunakan untuk komit harus dikaitkan dengan akun GitHub Anda.

Di Terminal:

$ git config --global user.name "Full Name"
$ git config --global user.email "[email protected]"

Lihat juga Bantuan GitHub: Menyetel alamat email komit Anda di Git

Kontra Bulaquena
sumber
4

Saya mengalami masalah dalam melihat atribusi untuk komit pada repo pribadi yang ditambahkan ke organisasi saya setelah banyak komit saya terjadi (komit baru muncul dengan benar) dan hanya bisa menampilkannya dengan menghapus alamat email dari profil saya, lalu tambahkan kembali alamat email yang sama.

Sepertinya melakukan ini menyelesaikan masalah cache dalam GitHub.

aaaronic
sumber
4

Ternyata saya sebelumnya mengubah alamat email saya di GitHub dan saya lupa untuk mengubah alamat email lokal juga.

Cesare
sumber
2

Saya memiliki masalah yang sama dan ini berhasil untuk saya: Pemeriksa kontribusi GitHub, tautan di bawah. Setelah diinstal, program akan memeriksa validitas dari komit terbaru Anda dan memberi Anda daftar aturan, dengan aturan / aturan tidak dipenuhi dengan warna merah.

Masalah saya adalah GitHub menggunakan nama terminal Cygwin sebagai alamat email jadi saya baru saja menambahkan nama terminal Cygwin saya ke profil saya dan semua komit terbaru telah ditambahkan ke kalender GitHub saya.

Komitmen Anda tidak akan dihitung sebagai kontribusi! Periksa detailnya di bawah ini: https://github.com/jdennes/contribution-checker

theWhiteFox
sumber
2

Saya ingin menambahkan email saya ke pengaturan SourceTree secara manual meskipun git configalamat email yang benar telah dikonfigurasi. Hanya setelah melakukan ini, GitHub mulai merekam komitmen saya pada grafik kontribusi saya.

Screenshot Pengaturan SourceTree

knutigro.dll
sumber
2

Saya mengalami masalah yang sama persis, ternyata karena email di git lokal saya tidak sesuai dengan email di akun GitHub saya.

Untuk memperbarui email di komputer lokal Anda:

git config --global user.email "[email protected]"

Verifikasikan bahwa semua komit Anda diperbarui di github Anda, jika tidak, Anda dapat memeriksa komit individu untuk melihat email apa yang terkait dengan komit dengan mengeklik komit dan menambahkan ".patch" ke akhir url komit seperti ini:

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

Sekarang yang harus Anda lakukan adalah menambahkan email yang Anda lihat ke akun Anda. (Ini tidak perlu diverifikasi)

Periksa komit lagi dan Anda akan melihat nama pengguna Anda dan dikreditkan :)

mwen1993
sumber
2

GitHub dengan jelas menyatakan bagaimana mereka mengukur kontribusi Anda dalam Bantuan mereka :

  • Masalah dan Permintaan Tarik:

    • Hanya jika mereka dibuka di repositori mandiri, bukan garpu
  • Komit:
    Hanya jika mereka memenuhi semua kondisi berikut:

    • Alamat email yang digunakan untuk komit dikaitkan dengan akun GitHub Anda

    • Komit dibuat di repositori mandiri, bukan di garpu

    • Komitmen dibuat:

      • Di cabang default repositori (biasanya master)
      • Di cabang gh-pages (untuk repositori dengan situs proyek)

    Selain itu, setidaknya salah satu dari berikut ini harus benar:

    • Anda adalah seorang kolaborator di repositori atau merupakan anggota organisasi yang memiliki repositori tersebut
    • Anda telah membagi repositori
    • Anda telah membuka permintaan penarikan atau masalah di repositori
    • Anda telah mengilaukan bintang pada repositori

Catatan: Setelah membuat komitmen yang memenuhi persyaratan untuk dihitung sebagai kontribusi, Anda mungkin perlu menunggu hingga 24 jam untuk melihat kontribusi muncul di grafik kontribusi Anda

Mehdi
sumber
1

Saya baru saja menambahkan email saya lagi melalui baris perintah dan itu menyelesaikan masalah:

$ git config user.email "[email protected]"

Dan masalah lainnya adalah tentang cabang Anda. Jika Anda membuat cabang lain di samping maser dan mencoba mendorong cabang tersebut, masalah ini mungkin terjadi. Dalam kasus saya, saya sudah mulai mendorong untuk menguasai dan mendapatkan solusinya.

Asadut Zaman
sumber
1

Saya memiliki masalah yang sama dan solusinya cukup sederhana. Saya memiliki setelan email yang salah untuk konfigurasi email global

git config --global user.email "[email protected]"

Pastikan email di atas dan email akun GitHub Anda sama

Hadi Mir
sumber
1

Saya memperbaiki masalah serupa dengan Menggunakan nama pengguna profil GitHub sebagai nama pengguna git saya di lingkungan lokal saya.

Sebagai contoh,

https://github.com/susithrj

setel nama pengguna global sebagai susithrj di konfigurasi git lokal Anda.

git config --global user.name "susithrj"

SRJ
sumber
0

Saya harus memulihkan laptop saya baru-baru ini dan lupa mengkonfigurasi ulang email saya ke git. Nama pengguna laptop saya terlihat mirip dengan git saya, jadi saya berpikir secara membabi buta bahwa commit saya telah dikaitkan dengan benar. Seperti yang diposting, Anda dapat mengubah pengaturan email global Anda. Akan tetapi, jika Anda ingin memperbaiki komit yang tidak diatribusikan pada proyek Anda, Anda dapat menggunakan jalankan skrip ini untuk membuat alias gcayang dapat Anda jalankan di direktori proyek git untuk mengubah kepengarangan dari komit Anda sebelumnya.

Dari ~direktori Anda , tambahkan:

$ 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

lalu jalankan direktori proyek git Anda gca <git username> <git email address>

Perhatian! Saya hanya menggunakan ini dalam proyek pribadi saya di mana saya menjadi satu-satunya pelaku. Belum memiliki kesempatan untuk mengujinya dengan proyek grup, jadi lanjutkan dengan hati-hati.

lockjohn
sumber
0

Saya memeriksa bagian / tab "Insights" dari repositori saya, dan alih-alih pengguna saya saat ini, ada pengguna anonim (yang juga saya), jadi saya mengubah konfigurasi email di komputer saya saat ini ke yang saya gunakan dengan github seperti dijelaskan di atas.

Insigths

bsh
sumber
0

Anda dapat membuat email Anda tetap pribadi dan tetap menampilkan kontribusi di kalender Anda. Anda dapat memilih untuk merahasiakan alamat email Anda dari pengaturan email github dan menggunakan alamat email github noreply di konfigurasi git Anda.

git config user.email "[email protected]"

Catatan

Bagi saya, saya telah memilih untuk merahasiakan email saya dari pengaturan email github . Ini memberi saya kesalahan

Your push would publish a private email address.

sambil mencoba mendorong ke repo saya. Saya menghapus email tersebut. Mendorong setelah ini berhasil tetapi kontribusinya tidak dicatat di kalender saya.

Seperti yang disebutkan oleh GitHub di halaman pengaturan email

Kami akan menghapus email profil publik Anda dan menggunakan [email protected] saat menjalankan operasi Git berbasis web (mis. Pengeditan dan penggabungan) dan mengirim email atas nama Anda. Jika Anda ingin operasi Git baris perintah menggunakan email pribadi Anda, Anda harus menyetel email Anda di Git .

Bitto Bennichan
sumber
0

Punya masalah yang sama, saya diperbaiki dengan mengatur email

git config --global user.email [email protected]

Semoga ini membantu.

Jonathan Mendoza
sumber
0

"Kalender Kontribusi" atau "Ringkasan aktivitas" di github hanya merekam komitmen yang terkait dengan alamat email yang dicatat di akun github.

Ubah alamat email untuk semua komitmen di masa mendatang

Seperti yang telah dicatat oleh banyak orang lain di utas ini, cari alamat email yang disimpan secara lokal saat ini dengan:

git config user.email

Jika tidak cocok dengan email di github, ubah menggunakan:

git config --global user.email [email protected]

Ini akan mengubah alamat email secara global untuk semua komitmen di masa mendatang, tetapi tidak akan memengaruhi "Ikhtisar Kontribusi" untuk komitmen sebelumnya. Anda dapat mengikuti dokumen resmi untuk penjelasan lebih lanjut.

Ubah alamat email untuk memperbarui ikhtisar untuk komitmen sebelumnya

Anda menyadari bahwa banyak dari komitmen Anda sebelumnya belum dicatat dengan benar di "Ikhtisar Kontribusi" Github: masukkan deskripsi gambar di sini

Untuk mengubahnya, Anda dapat mengubah info penulis untuk repositori dengan mengikuti langkah-langkah yang dijelaskan di dokumen resmi github .

Ringkasan singkat:

  1. Buka git bash
  2. Gandakan repositori kosong

    git clone --bare https://github.com/user/repo.git
    cd repo.git
    
  3. Tempel kode berikut ke konsol git bash setelah mengubah variabel OLD_EMAIL, CORRECT_NAMEdan CORRECT_EMAIL:

    #!/bin/sh
    
    git filter-branch --env-filter '
    
    OLD_EMAIL="[email protected]"
    CORRECT_NAME="Your Correct Name"
    CORRECT_EMAIL="[email protected]"
    
    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. Tekan enter untuk menjalankan skrip

  5. Dorong riwayat yang dikoreksi ke github
    git push --force --tags origin 'refs/heads/*'
    

Prosedur ini harus memperbarui "Ikhtisar Kontribusi" dan sekarang juga menunjukkan komitmen yang tidak ditampilkan sebelumnya: masukkan deskripsi gambar di sini

Peringatan : Tindakan ini merusak riwayat repositori Anda. Jika Anda berkolaborasi di repositori dengan orang lain, menulis ulang riwayat yang dipublikasikan merupakan praktik yang buruk. Anda hanya boleh melakukan ini dalam keadaan darurat.

GinTonic
sumber
0

Pastikan untuk menggunakan tanda pengguna. Misalnya, git push -u origin bukan git push

Upulie Han
sumber