SORU
31 EKİM 2008, Cuma


Nasıl değiştirilmiş uzak git repo taahhüt basacağım?

Kaynağım ile biraz kod çalıştığım zaman, ben her zamanki işimi yapmak işlemek ve sonra bir uzak repo basarım. Fakat daha sonra kaynak kod içinde benim ithalatı düzenlemek için unuttuğumu fark ettim. Komut önceki kaydetme yerini değiştirmek için, ben de:

> git commit --amend

Ne yazık ki depoya geri itti olamaz işlemek. Böyle reddetti

> git push origin
To //my.remote.repo.com/stuff.git/
 ! [rejected]        master -> master (non-fast forward)
error: failed to push some refs to '//my.remote.repo.com/stuff.git/'

Ne yapmalıyım? (Uzaktan repo erişebilirsiniz)

CEVAP
11 Ocak 2009, Pazar


Ben bir keresinde --force ile git itti.depoya git ve Linus tarafından azarlandıBÜYÜK ZAMAN. Diğer insanlar için bir çok sorun yaratacak. Basit bir cevap "yapma".

Diğerleri onları burada tekrarlamak istemiyorum o yüzden her neyse yapmak için tarif verdi, görüyorum, ama burada bu durumdan kurtulmak için bir ipucusonratadil --force (ya da usta) ile tamamlama dışarı itti.

  1. İlk olarak, eski değiştirilmiştir (old ve yeni oluşturduğunuz tamamlama new yenileyerek ararız çağrı) taahhüt bulabilirsiniz.
  2. old new kayıt arasında birleştirme oluşturmak git checkout new && git merge -s ours old new, ağacı.
  3. git merge master ile master için birleştirme
  4. git push . HEAD:master ile sonuç ustan güncelleştirin
  5. Sonra itme sonucu.

Sonra işlerini alan talihsiz insanlar ve bir itme değiştiren zorlayarak mı yok tamamlama (kiçok ama çok kötü bir çocuk olmak) sonuç birleştirme görecek old new sana iyilik görecek. Daha sonra onların samimi senin kaynaklanan old new arasındaki çatışmalar değiştiren göremez ve acı çekmek zorunda değiller.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AndroidSale

    AndroidSale

    17 NİSAN 2011
  • jeffisthecoolguy

    jeffisthecoo

    17 HAZİRAN 2013
  • RyanXLT

    RyanXLT

    22 Ocak 2011