SORU
4 EYLÜL 2009, Cuma


Ve uzak bir depo Git reset --hard

Üzerinde bazı kötü işleyen (D, E ve F bu örnek için) bir havuz vardı.

A-B-C-D-E-F ana ve origin/master

Özellikle yerel depoyu git bir reset ile hard modifiye ettim. Şimdi benzer bir repo var o yüzden sıfırlamadan önce bir dal aldım:

A-B-C master  
     \ D-E-F old_master

A-B-C-D-E-F origin/master

Şimdi ben neşeli şimdi aşağıdaki yerel olarak var ve bazı yeni taahhüt ihtiyacım yapılmış bit seçtim bu kötü işleyen bazı parçalar ihtiyacım vardı:

A-B-C-G-H master
     \ D-E-F old_master

Şimdi uzak repo için bu durum itmek istiyorum. Bir git push yapmaya çalışıyorum ancak git kibarca bana fırça verir:

$ git push origin  master:master --force  
Total 0 (delta 0), reused 0 (delta 0)  
error: denying non-fast forward refs/heads/master (you should pull first)  
To git@git.example.com:myrepo.git  
! [remote rejected] master -> master (non-fast forward)  
error: failed to push some refs to 'git@git.example.com:myrepo.git'

Nasıl yerel repo geçerli durumunu almak için bir uzak repo alabilirim?

CEVAP
4 EYLÜL 2009, Cuma


Eğer zorlama bir itme yok yardım ("git push --force origin" veya "git push --force origin master" yeterli olmalı), ölebilir ama uzak sunucu olduğunu reddediyor olmayan ileri iter ya üzerindenalırsınız.denyNonFastForwardsconfig değişken (açıklama için git config kılavuz), ya da update / ile önceden almak kanca.

Silerek bu kısıtlama, bir çözüm olabilir eski Gıt "git push origin :master" (bkz:': 'şube adı daha önce) ve sonra yeniden oluşturma "git push origin master" verilen şube.

Eğer bu değişiklik olursa, o zaman tek çözüm tarihi yeniden yazmak yerine olurduD-E-F reverting değişiklikler oluşturmak:

A-B-C-D-E-F-[(D-E-F)^-1]   master

A-B-C-D-E-F                             origin/master

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
Git

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Flohoo

    Flohoo

    12 EYLÜL 2009
  • Within Temptation

    Within Tempt

    18 EYLÜL 2006