Github “Uzaktan kumandada sahip olmadığınız işleri içerdiğinden güncellemeler reddedildi”


177

Yeni bir repo oluşturdum, klonladım, dizine dosya ekledim, bunları ekledim add -A, değişiklikler yaptım ve kullanmaya çalıştığımda git push <repo name> master"Uzaktan kumandada sahip olmadığınız işleri içerdiğinden güncellemeler reddedildi."

Bu yeni bir repo olduğundan ve sadece bir benioku dosyası içerdiğinden bu mantıklı gelmiyor.

Yanıtlar:


311

Bu, READMEve / veya LICENSEdosya ile yeni bir github repo başlattıysanız olur

git remote add origin [//your github url]

//pull those changes

git pull origin master 

// or optionally, 'git pull origin master --allow-unrelated-histories' if you have initialized repo in github and also committed locally

//now, push your work to your new repo

git push origin master

Şimdi deponuzu github'a gönderebileceksiniz. Temel olarak, bu yeni başlatılan dosyaları çalışmanızla birleştirmeniz gerekir. git pullsizin için getirir ve birleştirir. Size uygunsa getirebilir ve birleştirebilirsiniz.


7
Daha ayrıntılı bir açıklama içeren bir YouTube videosu hazırladım ve bu sorunu önlemek için iki yol önerdim.
Kevin Markham

16
Birleştirme komutu için kullanmam gerekiyorgit pull origin master --allow-unrelated-histories
Luciano Marqueto

"Ölümcül: ilişkisiz geçmişleri birleştirmeyi reddediyorum"
Sergi

4
@Ergi denemekgit pull origin master --allow-unrelated-histories
palerdot

101

Hata muhtemelen, yürütmekte olduğunuz ve GitHub'da mevcut olan kodun farklı yapısı nedeniyle gelir. Tarafından çözülebilecek çatışmalar yaratır

git pull

Çözme çatışmalarını çözme:

git push

Yeni kodunuzun iyi olduğunu onaylarsanız şunları kullanabilirsiniz:

git push -f origin master

Nerede -fiçin standları "kuvvet işlemek".


13
'git push -f kökenli usta' -bu yardımcı olur
Saurabh

4
git push -f uzak geçmişin üzerine yerel geçmişinizi yazar, kullanırken dikkatli olun. Özellikle halka açık depolarda.
Andre

updates-were-rejectedayrıca uzaktan kumandadaki github reposunda değişiklikler yaptıysanız da olur, örneğin: github gui kullanarak benioku dosyasında bazı değişiklikler yaptı. Ve sonra yeni çalışmanızı github'a aktarmaya çalıştı, bu mesajı uzaktan yaptığınız ancak yerel olarak mevcut olmadığını belirten bu mesajı gösterecektir.
Deke

13

Bu ilk itişinizse

sadece değiştir

git push <repo name> master

bu şekilde değiştirin!

git push -f <repo name> master

1
Bu başlangıçta başlangıçta oluşturulan gibi dosyaları atar. Bunun yerine git pulluzak dosyaları almak ve daha sonra taahhüdünüzü birleştirmek için önce kullanın. Kabul edilen cevap durumları gibi
JayJay

@jayjaybricksoft Yorumunuz için teşekkür ederiz. İlk itme, bu yüzden orijin dosyalarını değiştirmek Tamam.
Mahyar


2

Verilen cevaplar benim için işe yaramadı.

GitHub'da yalnızca LICENSE dosyası ve yerel olarak tek bir taahhütle boş bir repo yaptım. Ne işe yaradı:

$ git fetch
$ git merge --allow-unrelated-histories
Merge made by the 'recursive' strategy.
 LICENSE | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 LICENSE

Ayrıca önce mergeşunları yapmak isteyebilirsiniz:

$ git branch --set-upstream-to origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.

0

Şu adımları izledim:

Master'ı çekin:

git pull origin master

Bu, yerel repoyu Github repo ile senkronize edecektir. Yeni dosyanızı ekleyin ve ardından:

git add .

Değişiklikleri yapın:

git commit -m "adding new file  Xyz"

Son olarak, başlangıç ​​ustasını itin:

git push origin master

Github deposunuzu yenileyin, yeni eklenen dosyaları göreceksiniz.


0

Visual S2019 kullanıyorsanız, aşağıda gösterildiği gibi yeni bir yerel dal oluşturun ve değişiklikleri depoya aktarın VS2019 yerel şube

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.