Bir üst akış dalı yeniden oluşturulduktan sonra, bir dal orijinal dallanmasının nasıl olduğunu nasıl bulabilirim?Yeniden oluşturmak için ortak ataları nasıl bulabilirim?
Sık sık origin/master
çektiğinde birkaç ilgili şube rebase gerekir:
Before rebasing b1:
O1 - O2 - O3 - O4 - O5 - O6 <=master
\
G - H - I <=b1
\
T - U - V <=b2
After rebasing b1:
O1 - O2 - O3 - O4 - O5 - O6 <=master
\ \
G - H - I G' - H' - I' <=b1
\
T - U - V <=b2
Rebasing b1
çatışma kararlarının çok gerekli. b2
, yeniden oluştururken aynı çakışmaların çözümlenmesini önlemek için, orijinal olarak I
, yani I
? vardı Branch1
tüm orijinal çatışmaları yeniden çözmek için
rebase
güçler beni:
$ git checkout b2
$ git rebase # crap!
yapmak istediğim, gerçekleşmesini önlemek için bu kapalı dallı orijinal üzerine b2
rebase işlemek olduğunu I
. Uygulamak istediğim taahhütler kümesi I..b2
, yani için rebase
(artık bir şube olmasa bile) kullanmak istiyorum. Şimdi --onto b1
'u belirtmeliyim (aksi halde gitmelerimi zaten sahip olduğum şey olan I
'a uygulayacağım).
git rebase --onto b1 I
Benim soru : nasıl I
bulabilirim?
Bu, sorunumu açıklayabilir: "birincil" çalışma grubuma bağlı .git dizinlerinde birden fazla çalışma dizinini kullanıyorum. Yani b1 ile workdir için reflog'lar kontrol edildi ve b2 ile kontrol edilen çalışma listesi ayrı. "b1" yi yeniden oluşturduktan hemen sonra b2'yi yeniden kaydetmezsek (veya b2'yi güncellemeye başlamadan önce birden çok kez yeniden rebue edilir), doğru yanıtı bulmak için el yordamıyla bakmak daha da zorlaşır. . Sanırım, iki uzmanı çapraz referansta bulabilirim, ama, "usta" olmayan ortak bir taahhüt arıyorlar mı? – mgiuffrida
"b1" değerini yeniden oluşturmak için kullandığınız çalışma dizini ne olursa olsun, yalnızca bu direkteki referansı kontrol edin. –