GitHub mesajının anlamı: E-posta gizliliği kısıtlamaları nedeniyle push reddedildi


206

Github'da bir Çekme İsteğini kabul ettim ve birleştirdim ve şimdi taahhütlerimi artık çekemiyorum.

Mesaj:

! [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)

Ben şimdi ne yapmalıyım ?


1
Doküman sayfasını buldum: help.github.com/en/github/…
Sebastian Norr

Yanıtlar:


411

Uzak depo, kişisel e-posta adresinizi gösterecek bir taahhütte bulunmanıza izin vermeyecek şekilde yapılandırılmıştır. Örneğin GitHub'da, bunu etkinleştirmek için e-postalarımı gösteren onay komut satırı push'larını işaretlediniz .

E-postamı açığa çıkaran blok komut satırı push'ları

Elbette bu ayarın işaretini kaldırabilseniz de, yazar bilgileri deponuza erişimi olan herkes tarafından okunabileceğinden, özel e-posta adresinizi dünyadaki herkese açık hale getirecektir.

Bunun yerine şunu yapın:

  1. Git'teki taahhütleriniz için varsayılan olarak kullanılan kişisel e-posta adresinizi görebilirsiniz:

    git config --global user.email
  2. Senin bul GitHub noreply adresi sizin Github en içinde Kişisel Ayarlar → e-postalar . 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:

    {ID}+{username}@users.noreply.github.com

    E-posta adresimi gizli tut

  3. Genel kullanıcı e-posta adresi ayarını GitHub noreply adresiniz olarak değiştirin:

    git config --global user.email {ID}+{username}@users.noreply.github.com
  4. Son taahhüdünüzdeki yazar bilgilerini sıfırlayın:

    git commit --amend --reset-author

    Özel e-posta adresinizle birden fazla taahhüdünüz varsa, bu yanıta bakın .

  5. Artık taahhüdü normal e-posta adresiyle itebilirsiniz ve gelecekteki taahhütler de normal e-posta adresine sahip olacaktır.

    git push

4
Hayır, yanımda bir cazibe gibi çalıştı, belki bir adımı unuttun, @adamczi. Her iki olası çözümü de belirttiği için bu kabul edilen cevap olmalıdır.
Ioanna

4
Teşekkürler, sanırım 2. adımda bir hata yapmış olabilirim. Dikkat etmelisiniz, @ Virtlink'in talimatlarını orada açıkça izlemelisiniz, çünkü <your_uname>@users.noreply.github.com(kendim için ayarlandığı gibi None) dışında bir e-posta ayarlamak taahhütlerinizi göstermeyecek profil sayfanızdaki grafiği tıklayın.
adamczi

3
Benzer gizemli bir sorunum vardı. Benim hatamdı git commit --amend --author "first last me@users.noreply.github.com"ve öyle görünmüyordu. Sen gerçekten sıfırlamak için gereken user.emailtam olarak yukarıdaki yapılandırma parametresi. Şerefe!
msanford

6
Virtlink'in yukarıda sağladığı 4. adım, bu hatayı aşmam için kritikti. Yanıt vermeyen e-posta adresimi kullanmak için yapılandırmadaki user.email'i ayarlamıştım, ancak Push komutu yine de özel bir e-posta yayınlamakla ilgili sinir bozucu hatayı döndürdü. İtmeye çalıştığım taahhüdü değiştirdikten sonra itmeye izin verdi.
teaman

3
E-posta adresini yalnızca tek bir havuz için değiştirmek isteyebilirsiniz. Bu yanıt yardımcı oldu, ancak
github'un

146

Bunun nedeni , e-posta adresinizi açığa çıkaran komut satırı push'larını engelleyen yeni bir GitHub ayarıdır .

E -posta ayarlarınızda "E-postamı gösteren komut satırı push'larını engelle" kutusunun işaretini kaldırmayı ve ardından tekrar itmeyi deneyin .


20
bu seçeneğin işaretini kaldırmak özel e-posta adresimi gösterecektir?
Franck Freiburger

14
Evet, yapacak olan budur, ancak deponuza taahhütte bulunduysanız e-posta adresinizi zaten açmışsınızdır. Github e-posta adresinizi göstermese de, deponuzu klonlasam, onları aynı şekilde görebilirim ve bu yeni engelleme olayı bunu engelleyecektir.
Lasse V. Karlsen

10
Bu tartışmalı bir çözümdür. En azından bunun e-posta adresinizi tüm dünyaya göstereceğini belirtin.
kovac


1

Hataları şu şekilde çözdüm:

git config --global user.email ""

Bu, e-postamı boş (boş bir dize) olarak ayarladı. Şimdi e-postamı şu projelerle bireysel olarak ayarladım:

git config user.email "myemail@domain.com"


0
  1. github.com adresine gidin ve profilinize tıklayın
  2. ayarlara git
  3. şimdi sol gezinme panelinde 'E-posta'yı tıklayın
  4. 'E-posta adreslerimi gizli tut' alanını arayın
  5. lütfen bu seçeneğin işaretini kaldırın
  6. şimdi tekrar kontrol edin ve bence sorun şimdi çözüldü.

2
bu işe yarar ancak özel e-posta adresinizi gösterecektir. gizlilik konusunda endişeleriniz varsa diğer çözümlere bakın.
kaznovac

-1

E-postalarımı açığa çıkaran komut satırı push'ları engelle seçeneğinin işaretini kaldırın ve kodu komut satırından göndermeyi deneyin.


aynı şey uygulanabilir biliyor musunuz?
LOG_TAG

bu işe yarar ancak özel e-posta adresinizi gösterecektir. gizlilik konusunda endişeleriniz varsa diğer çözümlere bakın.
kaznovac

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.