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
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
Uzak bir depo Gıt kullanarak etiket ba...
Ne kadar uzak depo EĞİT kullanarak bir...
Standart olmayan bağlantı ile uzak bir...
Nasıl Gıt 1.7 uzak dalları listesi ?...
Depo desen kullanarak DEĞİL, ORM kulla...