2014-11-04 22 views
7

Git'te bir şubem var A. Birkaç taahhüt oluşturduğum başka bir şube B oluşturuyorum. Daha sonra şubeye A şubesini B numaralı şubeye yönlendirmek istiyorum.Başka bir şubeyi kontrol etmeden ileri atmak mümkün mü?

A numaralı telefonu denetleyebileceğimi ve B'un en son taahhüdünü ileriye doğru yapabileceğimi biliyorum. Bu işlem, çalışma kopyasında iki değişiklik gerektirir: ilk önce A'a dönüp çalışma kopyasını B'a geri döndürün. B'daki yeni işlemler çok fazla değişiklik içeriyorsa, işlem oldukça yavaş olabilir.

Çalışma kopyasını değiştirmeden başka bir şubeyi ileriye doğru yapmak mümkün mü?

+1

'git update-ref'. Dikkatle kullanın. –

+0

@AndrewC bir yanıt olarak ekleyin. –

cevap

3

Git bu amaçla update-ref komutu içerir (diğer bir deyişle, A sadece hareket ettirmek için)

git update-ref A B 

Not: Bu komut alt düzey Git komutları biridir ve her sağlamaz Kendinizi sıkmaktan korunmanız için önlemler. Eğer B, A'nın hızlı bir şekilde ilerlememesi durumunda, A'yı hala güncelleyecektir, bu da taahhütlerin ulaşılamaz hale gelmesini ve çöp toplama işlemine tabi tutulmasını sağlayabilir.

+0

@Zeeker, artık işlemlerin kaybedilmediğini söylüyor: http://stackoverflow.com/questions/26752567/is-it-better-to-use-git-branch-f-or-git-git-update-ref-to-fast -sürüm-mevcut-sütyen # comment42096589_26752567 –

+2

"update-ref" yaptığınız an ya da bunun gibi bir şey sihirli bir şekilde yok olmayacak. Ancak ulaşılamaz hale gelebilir ve bu gerçekleştikten sonra normal çöp toplama politikalarına tabidir. –

+0

Hmm .. Bunu yapmak istiyorum, ama çıplak bir güncelleme-ref kullanmak için yeterli değil. :-( – Thilo

İlgili konular