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
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.
- İlk olarak, eski değiştirilmiştir (
old
ve yeni oluşturduğunuz tamamlamanew
yenileyerek ararız çağrı) taahhüt bulabilirsiniz. old
new
kayıt arasında birleştirme oluşturmakgit checkout new && git merge -s ours old
new
, ağacı.git merge master
ile master için birleştirmegit push . HEAD:master
ile sonuç ustan güncelleştirin- 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.
nasıl git repo uzak köken kaldırmak iç...
Nasıl git-svn uzak bir şube getirdim s...
Bir birleştirme dönmek için nasıl'...
Nasıl'un repo başkasından uzak şu...
Uzak bir Git repo için yeni bir yerel ...