Tamam, bunun basit bir git senaryosu olduğunu düşündüm, ne eksik?
Bir masterşubem ve bir featureşubem var. Biraz master, biraz featuresonra da biraz daha çalışıyorum master. Ben böyle bir şey ile sonuçlanır (sözlükbilimsel düzen taahhütlerin sırasını ima eder):
A--B--C------F--G (master)
\
D--E (feature)
git push origin masterUzaktan kumandayı mastergüncel tutmak ya da git push origin feature(açıkken feature) işim için uzaktan yedekleme yapmak için hiçbir sorunum yok feature. Şimdiye kadar iyiyiz.
Ama şimdi ustalıktaki taahhütlerin featureüstüne geri dönmek istiyorum F--G, bu yüzden ben git checkout featureve git rebase master. Hala iyi. Şimdi elimizde:
A--B--C------F--G (master)
\
D'--E' (feature)
Sorun: yedekleme istediğim an yeni rebased featureile kollara git push origin feature, itme reddedilir ağaç rebasing nedeniyle değişti beri. Bu sadece ile çözülebilirgit push --force origin feature .
--forceİhtiyacım olduğundan emin olmadan kullanmaktan nefret ediyorum . Peki, buna ihtiyacım var mı? Yeniden bastırma , bir sonrakinin tam olması gerektiği anlamına mı geliyor ?push--force
Bu özellik dalı başka devs ile paylaşılmaz, bu yüzden zorla itme ile fiili bir sorunum yok , herhangi bir veri kaybetmeyeceğim, soru daha kavramsal.