SORU
19 Mayıs 2009, Salı


Bir daldan, belirtilen itme taahhüt hepsi çıkacak başka bir taahhüt

Aşağıdaki dalları var:

  • master
  • production

ve aşağıdaki uzaktan dalları:

  • origin/master
  • origin/production

origin/master şube getirir bir senaryo var ve benim son değişen ne fark eder getirme (log -p master..origin/master) alır. Sonra origin/master I birleştirme.

Kod Gözden Geçirme aracı itilir bulundu tamamlar.

origin/production elbette üretim dalı için, ve sonra başarılı tamamlar – ve onları sadece itmek istiyorum.

Nasıl yapabilirim?

Ayrıca, ben 2 komut çalıştırma: bir fetch origin/master, itme taahhüt detaylar için bir veritabanı ve birleştirme, diğeri ben şu anda yazılı olacaktır itme başarılı tamamlar.

Bu 2 komut yarış koşulları çakışma birleştirme/kaçınırken çalışan almak istiyorum. Ben yalnızca işlemlerini belirtilen çalışmak istediğim için, belki de istemediğim tamamlar kurtulmak için bir yolu var mı?

CEVAP
19 Mayıs 2009, Salı


Aradığın bence bu dönem bir "cherry pick'. Bu, bir şube ortasından tek bir taahhüt alıp, başka bir ekleyin:

A-----B------C
 \
  \
   D

olur

A-----B------C
 \
  \
   D-----C'

Bu, tabii ki, cherry-pick komut gıt ile yapılabilir.

Bu taahhüt ile sorunu git onlara, Eğer üç varsa - bu nedenle, böyle işliyor önce tüm geçmişi vardır taahhüt gördüğü

A-----B-----C

Ve B defet, yani tamamen yeni bir taahhüt oluşturmanız gerekir:

A-----------C'

Nerede C' SHA-1 KİMLİK farklı. Aynı şekilde, başka bir daldan bir tamamlama kiraz toplama temelde bir yama üreten, sonra da bunu uygulamak, böylece tarih bu şekilde de kaybetme içerir.

Kimlikleri sonları git commit bu değişen diğer şeyler arasında işlevselliği eğer idareli kullanılırsa bu kağıt olacak sezgisel olmasına rağmen () birleştirme. Daha da önemlisi olsa da, işlevsel bağımlılıkları göz ardı eder - C aslında bir fonksiyon B tanımlanan kullanıldığı takdirde, asla bilemeyeceksin.

Belki de bu işlemek için daha iyi bir yol daha ince dallara sahip olacaktır. Yani, sadece bir yerine '','', '', vb. bugfixB özellika usta İşiniz bittiğinde bir kez, her şube sadece bir şey yaparken çok iyi konsantre olduğu tüm şube kodu inceleme yapmak ve bir şube birleştirme sonra. Bu gıt en iyi ne:) için tasarlanmış bir iş akışı

Eğer ısrar ile ilgili şeyleri düzeyde yamalar isteyebilirsiniz bak darcs - gördüğü bir depo için bir dizi yamalar ve böylece kiraz toplama olur temel işlemi. Ancak bu sorunlar, çok yavaş olduğu gibi:) kendi belirledi

Edit: Ayrıca, ikinci soru, iki komut hakkında anladığımdan emin değilim. Belki kafa karıştırıcı getting şeyleri tutmak için ayrı bir soru olarak daha detaylı bir tarif yapabilir misiniz?

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • KittiesMama

    KittiesMama

    10 AĞUSTOS 2008
  • LimeFire

    LimeFire

    2 ŞUBAT 2012
  • Lin Steven

    Lin Steven

    17 EKİM 2006