Git nirvana'yı başarma çabasıyla, şu anda birleştiğim durumlar için geri ödemeyi nasıl kaldıracağımı öğrenmek için günü geçiriyorum.
Git 101 akışı (aşağıda açıkladığım) olduğunu düşündüğüm şeyden geçerken, push --forcedeğişikliklerimi başlangıç noktasına geri gönderirken bunu yapmak zorundayım .
Ben tek değilim - bunun kapalı bir zemin olduğunu biliyorum (bkz. 1 , 2 , 3 , 4 , 5 ) ve bir kuvvetin neden gerekli olduğuna dair teknik nedenleri anlıyorum . Benim sorunum şu - geri ödeme övgülerini ve hayatlarını nasıl değiştirdiğini söyleyen birçok (birçok) blog girişi var ( birkaçını listelemek için 1 , 2 , 3 , 4'e bakın ), ancak hiçbiri bunun push --forcebir parçası olduğundan bahsetmiyor onların akışı. Ancak, mevcut yığın aşımı sorularına verilen hemen hemen her yanıt, "evet, yeniden baz alacaksanız, kullanmalısınız push --force" gibi şeyler söyler .
Rebase savunucularının sayısı ve dinselliği göz önüne alındığında, 'push -force' kullanmanın bir rebase akışının doğal bir parçası olmadığına ve eğer biri sık sık zorlamak zorunda kalırsa, yanlış bir şeyler yaptıklarına inanmak zorundayım .
push --forceBir olan kötü bir şey .
İşte benim akışım. Aynı sonuçları zorlamadan nasıl elde edebilirim?
Basit Örnek
İki dal:
- v1.0 - bir sürüm dalı, yalnızca yamaları içerir
- master - sonraki büyük sürüm için her şey.
Birkaç yama kaydetmem ve bir sonraki sürüm için birkaç işlemim var.

Bir sonraki sürümde kaybolmamaları için yamaları ustamla birleştirmek istiyorum. Aydınlanma öncesi basitçe:
git checkout master
git merge v1.0
Ama şimdi deniyorum
git checkout master
git rebase v1.0
Yani şimdi buradayım:

Zaman için:
git push
Nafile.