2012-07-04 17 views
5

İşyerinde TFS kullanıyoruz ve Git-TFS aracını çalışmaya çalışıyorum, böylece yerel işlemlerle çalışırken daha fazla esnekliğe sahibim.Git-Tfs: Git Commit başına bir TFS değişiklikleri mi?

Bu çalışmam var, ancak bir git tfs ct yaptığımda, tüm işlemlerimi bir TFS değişiklik kümesinde kontrol ediyor. Bir şeyi özlüyorum mu, yoksa böyle mi çalışması gerekiyor? Eğer bültenlerimin her birini ayrı değişimler olarak ayrı ayrı TFS'ye zorlamıyorsa, ilk etapta git-tfs kullanmanın amacını ortadan kaldırıyor gibi görünüyor.

cevap

9

Her bir tfs işleminden sonra normal görünümlü bir ağaç elde etmek için, yeni git değişikliklerinizi birer birer tfs komutu veren rcheckin komutunu kullanıyorum. Checkintool alt komutunu kullanarak bir mergecommit üretir - Ben ezberlemek git commits olsa hatırlamıyorum.

Normal bir iş akışını kullanıyoruz: bir özellik dalını kontrol edin, üzerinde çalışın, ödeme ana ve 'git tfs çekin', gerekliyse, özellik dalını master'a karşı yeniden donatın, ardından özelliği ustalıkla birleştirin ve git tfs rcheckin yapın. Son olarak, özellik dalını silin. Nadir durumlarda bu başarısız oldu (kilitli bir tfs dosyası nedeniyle), kontrolör her şeyi makul bir durumda bırakarak durdu, böylece tıkanıklık giderildikten sonra devam etmek sorun değildi.

Sonuçta, git-tfs TFS katlanılabilirliğini kullanır.

+0

Harika! Bu istediğim gibi çalışır. Github readme ve wiki sayfalarının neden bu komutu söylemediğini merak ediyorum. – Dan

+0

Kilitli bir dosyadan dolayı "rcheckin" hatası vermekten hoşlanmadığım tek şey, değişikliklerin _partially_ TFS sunucusuna gönderilmesidir. Git utangaç olan ve TFS'yi tercih eden bir ekiple çalıştığım için, başarılarımın/atomumun daima atomik olması için "rebase -i" ile taahhütlerimi ezmek zorunda kaldım. –

İlgili konular