Hata "Mesajınız özel bir e-posta adresi yayınlayacak"


122

GitHub / VCS'de çok yeniyim .

Projemi GitHub'da paylaşmaya çalıştığımda aşağıdaki hata mesajını alıyorum.

    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'

Hata mesajını araştırdım ve hiç isabet almadım. Stack Exchange'i de araştırdım ama puro yok. Bu sorunu nasıl çözebilirim?

Yanıtlar:


74

Ben de aynı error: GH007mesajı aldım ve sorunu çözmek için aşağıdakileri kullandım.

  1. Kaydetme e-posta adresinizi ayarlama bölümüne gidin .
  2. Bilgisayarınızdaki her depo için e-posta adresinizi ayarlama bölümünü takip edin .
  3. GitHub hesabınızı açın ve AyarlarE-postalar'a gidin .
  4. Seçin e-posta adresim özel tutun onay kutusunu.
  5. E-postamı açığa çıkaran komut satırı itmelerini engelle onay kutusunun işaretini kaldırın.

Bu, e-posta adresinizi ifşa edebilir.


26
Bu bir çözümdür, ancak e-posta adresinizi ifşa edebilir. Henüz gönderilmemiş herhangi bir işleminiz varsa, e-postamı açığa çıkaran komut satırı itmelerini engelle seçeneğinin işaretini kaldırmanız gerekir . Ardından bu bekleyen taahhütleri zorlayabilirsiniz. Daha sonra, e-posta adresinizi yanıtsız e-posta adresine güncelleyin ve adresinizi gizli tutmak için e-postamı tekrar açığa çıkaran komut satırı itmelerini engelle seçeneğini işaretleyin .
SvenAelterman

5
@SvenAelterman update your email address to the no-reply email addressnerede? Github ayarlarında veya yerel makinenizde, muhtemelen özel e-posta adresinizi gönderen / kullanan bir yerde? Github tarafından oluşturulan bir e-posta adresini kopyalayıp doğrudan github'a geri yapıştırmam gerekebileceği, sadece bir onay kutusuna tıklamak yerine, bu yüzden okumanın yanlış olduğunu varsayıyorum. Yoksa öyle mi??
hippietrail

15
Son kaydetme kullanımınız için e-postayı değiştirmek içingit commit --amend --author="Author Name <email@address.com>"
dspacejs

11
@Winfried'in çözümünü burada kullanmak çok daha iyi . E-posta adresinizi herkese açık olarak ifşa etmeyecek
Connor

9
Kabul edildi, doğru cevap @ Winfried'in stackoverflow.com/a/51097104/7872793'tür .
Shane

253

"E-postamı açığa çıkaran komut satırı itmelerini engelle" özelliğini etkinleştirirken, Git'i yanıtsız e-posta adresinizi kullanacak şekilde yapılandırmak isteyeceksiniz. Merak etmeyin, bu katkı grafiğinizi etkilemeyecektir. Tüm taahhütler yine de hesabınızla ilişkilendirilecektir.

  1. Terminal'i açın.

  2. Geçerli çalışma dizinini, Git kaydetmelerinizle ilişkilendirdiğiniz e-posta adresini yapılandırmak istediğiniz yerel depoya değiştirin.

  3. GitHub noreply adresinizi GitHub Kişisel Ayarlar → E-postalar bölümünde bulun . E-posta adresimi gizli tut onay kutusunun açıklamasında belirtilmiştir . Genellikle, benzersiz bir tanımlayıcı ve kullanıcı adınızla başlar.

  4. Git'te bir e-posta adresi ayarlayın. GitHub tarafından sağlanan yanıtsız e-posta adresinizi kullanın.

    • E-posta adresinizi bilgisayarınızdaki her depo için ayarlama

      git config --global user.email "{ID}+{username}@users.noreply.github.com"
      
    • E-posta adresinizi tek bir depo için ayarlama

      git config user.email "{ID}+{username}@users.noreply.github.com"
      
  5. Son kaydetmenizdeki yazar bilgilerini sıfırlayın:

    git commit --amend --reset-author
    

    Özel e-posta adresinizle birden fazla işleminiz varsa, bu yanıta bakın .

  6. Şimdi noreply e-posta adresiyle commit'i itebilirsiniz ve gelecekteki commit'ler de noreply e-mail adresine sahip olacaktır.

    git push
    

Git'i yapılandırdıktan sonra, commit'ler sizin alternatif "noreply" e-posta adresinizi kullanır ve reddedilmeyen herhangi bir push işlemi reddedilmez.


30
Kabul edilen cevap bu olmalıdır. @ sofia-fernandez cevap, e-posta adreslerini ifşa edebilir. Bunu biraz daha kısaltmanın ve daha okunaklı hale getirmenin bir yolu var mı? Tek farkın --globalbayrak olduğu iki ana bölümünüz var
Connor

Linux arayüzüyle ilgili bazı sorunlar yaşadım (SourceTree terminalini kullandım ve VI'yı kullandığımdan beri biraz zaman geçti), -m <comment>bundan kaçınmak istiyorsanız ekleyebilirsiniz .
MikeL

2

GitHub'ın e-posta gizlilik özelliğini muhtemelen etkinleştirmişsinizdir (veya şimdi varsayılan olarak etkindir).

GitHub yardımında bu sayfada ayrıntılı olarak açıklanmıştır .

Kısacası, kullanıcının gerçek e-posta adresiniz olduğu herhangi bir push işlemini engelleyen, etkinleştirebileceğiniz (hesabınızda etkin olan) bir geçiş vardır. Bunun yerine anonimleştirilmiş bir adres kullanabilirsiniz (veya özelliği devre dışı bırakmayı seçebilirsiniz).

Her iki seçeneğin ayrıntıları aynı sayfada mevcuttur .


Teşekkürler! E-posta adresimi anonimleştirdim ve bu sorunu çözdü!
user156060

Anonimleştirilmiş e-posta adresini kullanmak iyi bir çözümdür. 18 Temmuz 2017'den önce oluşturduysanız, 7 rastgele basamak eklemek için yeniden yapmak isteyebilirsiniz.
SvenAelterman

Winfried'in cevabı kendi kendine yeten cevaptır.
Peter Mortensen

0
  1. Git Settings
  2. Tıklayın Emails. Alta kaydırın. Keep my email addresses privatebölümü orada olacak.
  3. Orada belirtilen genel e-posta kimliğini not edin.
  4. Aşağıdaki komutu kullanarak yerel global e-posta kimliğinizi önceki adımda bahsedilen genel e-posta kimliğiyle sıfırlayın.
$ git config — global user.email "<user_email_id>"
  1. Engellenen son yerel işlemenizi geri alın.
$ git reset --soft HEAD~1 
  1. Yeni bir taahhütte bulunun ve itin. Çalışacak.

-3

Ben de aynı sorunu yaşadım. Benim çözüm aşağıdaki resimde olduğu:

GitHub Ayarları


8
Hepiniz sıyırıcı ve böyle açık e-posta, yayımlamak için ayarlanır, ancak o zaman orada bulanıklaştırılacağı
Lesto

Bunun kabul edilen cevaptan (yaklaşık bir yıl önce yayınlanan) farkı nedir?
Peter Mortensen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.