web-gelistirme-sc.com

reddedilen master -> master (hızlı ileri sarma)

Projemi zorlamaya çalışıyorum (tüm dosyalar yeni bir havuzda). Adımları takip ediyorum ama git Push -u Origin master ile bastığımda _ Bu hatayı alıyorum:

! [rejected]        master -> master (non-fast-forward)
error: failed to Push some refs to '[email protected]:asantoya/projectnewbies.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git Push --help' for details.

Bu hatayı birçok kez aldım ve ne yapacağımı çözemedim.

182
Asantoya17

Hata mesajında ​​yazdığı gibi: git pull denemeden önce git Push. Görünüşe göre yerel şuben, takip şubenle senkronize değil.

Proje kurallarına ve iş akışınıza bağlı olarak, git pull --rebase öğesini de kullanmak isteyebilirsiniz.

140
pmr

Bunu dene: git Push -f Origin master

136
a_shahmatov

bu komut benim için iyi çalıştı

git Push -f Origin master
15
raed

Bu hatayı yeni aldım.

Yerel git depomu oluşturduktan sonra bir github deposu oluşturdum, bu yüzden github'a basmadan önce değişiklikleri yerel olarak kabul etmem gerekiyordu. Bu durumda, tek değişiklik github deposu oluştururken isteğe bağlı adım olarak oluşturulan benioku dosyasıydı.

git pull https://github.com/*username*/*repository*.git master

depo URL’si buradan, proje github sayfasından alınmıştır:

enter image description here

Sonra yeniden başlattım (bu gerekli olmayabilir)

git init
git add .
git commit -m "update"

Sonra itin:

git Push
11
blue-sky

github'da yeni bir repo yaratmıştım ve aynı problemi yaşadım, ancak çekerken de problemi vardı, bu yüzden benim için çalıştı.

ancak bu, zaten her şeyi mahvedebileceği için zaten birçok koda sahip olan repolarda önerilmez.

git Push Origin master --force
8
Muneef M

YARI:

'git pull' için gitmek bir çözüm değildir HER ZAMAN bir çözümdür, bu yüzden dikkatli olun. Depo geçmişinizi bilerek değiştirdiyseniz, bu sorunla (Q'da bahsedilen) karşılaşabilirsiniz. Bu durumda, git, geçmiş deponuzdaki yeni değişikliklerle geçmiş değişikliklerinizi karıştırıyor. Öyleyse, bir git Push --force için gitmelisin, çünkü git pull 'i çağırmak, tarihe yaptığın bütün değişiklikleri kasıtlı olarak geri alır.

8
Gupta

Eğer git pull yardımcı olmazsa, muhtemelen değişikliklerinizi (A) zorladınız ve bundan sonra bazı değişiklikler eklemek için git commit --amend kullandınız (B). Bu nedenle, git, tarihi kaybedebileceğinizi düşünüyor - B'yi A'dan gelen tüm değişiklikleri içermesine rağmen farklı bir taahhüt olarak görüyor.

             B
            /
        ---X---A

A den sonra kimse repoyu değiştirmezse, o zaman git Push --force yapabilirsiniz.

Ancak, A den sonra başka bir kişiden gelen değişiklikler olursa:

             B
            /
        ---X---A---C

o zaman, kişilerin A - B (C-> D] olarak değiştiğini yeniden belirtmelisiniz.

             B---D
            /
        ---X---A---C

veya sorunu manuel olarak düzeltin. Bunu nasıl yapacağımı henüz düşünmedim.

7
Alexander Volkov

bu komutu kullan:

git pull --allow-unrelated-histories <nick name of repository> <branch name>

sevmek:

git pull --allow-unrelated-histories Origin master

bu hata, projelerin ortak bir atası olmadığında ortaya çıkar.

6
Umar Farooq

Bunun nedeni, ustanızda bazı değişiklikler yapmanızdı, bu yüzden proje sizden önce sizden ricada bulunuyor. Yine de itmek istiyorsanız, şunu yazarak kaba kuvvet kullanabilirsiniz:

git Push -f Origin master

Önce değişikliklerinizi yapmayı unutmayın:

git add .
git commit -m "Your commit message"
5
Guim Gonzalez

Bu benim gelişim dalımdayken başıma geldi ve ana dalım son güncelleme ile olmadı.

Bu yüzden gitmeye çalıştığım daldan çıkınca bu hatayı aldım.

Master branda, git pull, daha sonra branş ve git Push geliştirmeye geri dönerek düzelttim.

$ git fetch && git checkout master
$ git pull
$ git fetch && git checkout develop
$ git Push
4
Jonn Marc Vistal

Bu komutu deneyin: "git pull Origin master"

Benim için çalıştı.

Bu bağlantıyı kontrol edin: https://help.github.com/articles/dealing-with-non-fast-forward-errors

4
firefly28

! [reddedildi] master -> master (hızlı ileri sarma)

Panik yapmayın, bu düzeltilmesi son derece kolaydır. Yapmanız gereken tek şey bir çekme işlemi yapmaktır ve şubeniz hızlı ileri gidecektir:

$ git myrepo master'ı çekin

Sonra Push'unuzu yeniden deneyin; her şey yolunda olmalı:

$ git it github ustası

4
user3292712

Bir geliştirme makinesinde bu sorunu yaşadım. dev dalı iyi bastırıyordu ama master dalı bana verdi (dev dalı üzerinde iken git Pushing):

! [rejected]        master -> master (non-fast-forward)

Bu yüzden denedim:

git checkout master
git pull

Bu bana verdi:

You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your configuration file does not tell me, either.

Ana dalın .git/config tarafından kaybolduğunu öğrendim ve şunu ekledi:

[branch "master"]
    remote = Origin
    merge = refs/heads/master

Daha sonra git Push, dev dalında da iyi çalıştı.

3
guaka

Yapman lazım

git branch

çıktı şöyle bir şeyse:

* (no branch)
master

sonra yap

git checkout master

Beklemede olan herhangi bir taahhüdünüz olmadığından emin olun, ancak teslim alma işlemi tüm onaylanmamış değişiklikleri kaybeder.

3
cage

Bunun nedeni, ustasında çelişkili değişiklikler yapmanızdır. Depo sunucunuz size bu kelimelerle söyleyemiyor, bu yüzden bu hatayı veriyor, çünkü bu sizin için bu çatışmalarla uğraşması meselesi değil, bu yüzden kendiniz yapmanızı istiyor. Gibi ?

1- git pull Bu, kodunuzu havuzunuzdan site yöneticinizin koduna birleştirir. Yani çatışmalar gösteriliyor.

2- bu manuel anlaşmazlıkları ele al.

3-

git Push Origin master

Ve presto, problemin çözüldü.

Ben de aynı şekilde yaşadım. Git Tortoise kullanıyorum. Sadece Sağ Tıkla -> Tortoise Git -> Clean Up. Şimdi Github'a basabilirsiniz. Benimle iyi çalıştı: D

1
Son Nguyen Thanh

Bu sorunu çözebildiğim tek şey yerel ve git repo'ları silmek ve her iki uçta da aynı şeyi oluşturmaktı. Şimdilik iyi çalışıyor.

0

Uzaktan kumandayı yerel ile senkronize değildi, bu yüzden bu benim için çalıştı

git pull --rebase

ve ne zaman git pull yaptığınızdan emin olun tekrar söylemeliyim Zaten güncel ve şimdi Kökeni Basmaya hazırsınız.

zaten varsayalım ki git remote add Origin remote repository URL

yap

`git Push Origin master`  

Ekran görüntüsü her şeyi söylüyor enter image description here

0
maheshmnj

Eğer heroku'ya basmaya çalışırken bu hatayı varsa, o zaman 'Origin'i' heroku 'ile değiştirin: git Push -f heroku master

0