Farklı müşteriler için çok sayıda projeye sahip bir yazılım danışmanıyız. Geleneksel olarak Subversion kullanıyoruz, ancak şu anda Git'e geçmeyi düşünüyoruz.
Ürettiğimiz belgelerin önemli bir kısmı müşterilerimizle paylaşılıyor (gereksinimler, global tasarımlar, test spesifikasyonları vb.) Ve bunları üretmek için MS Office kullanıyoruz. Subversion'da, kimsenin aynı belgeyi aynı anda düzenlemediğinden emin olmak için "Kilitle" özelliğini kullanabiliriz. Git'te dağıtılmış doğası gereği git'in kilitleri olmadığından bunu yapamazsınız.
Kilitler bir iletişim mekanizmasından çok daha fazlasıdır, ancak çok etkili bir mekanizmadır.
Şu anda, kodumuz ve müşteriye dönük belgelerimiz genellikle farklı bir svn deposunun farklı alt klasörlerinde bulunmaktadır. Git'e taşınırken ne yapmamızı önerirsiniz? Bir dizi seçenek görüyorum:
Svn depolarını git bire bir git'e taşıyoruz. Office dosyalarında kilitleri kullanmak yerine, git insanların önerdiklerini yapıyoruz ve bir şekilde düzeltmek için iş akışımızı değiştirmeye çalışıyoruz. Bu, herhangi bir belge düzenlemesinde bir dalda çalışıyor olabilir ve bu incelemeyi birleştirebilir. Bu yaklaşım, örneğin, proje yönetim bilgisi içeren Excel sayfalarını; ekip üyeleri tarafından kolayca düzenlenirler (ve bunun yapılmasını teşvik ederiz), ancak herhangi bir resmi inceleme sürecine tabi tutulmazlar
Kod için sv ve dokümanlar ve proje yönetimi için svn kullanıyoruz. Bunun dezavantajı, bazı daha tasarım-ish belgelerinin belirttiği koda "yakın" olmaması ve insanların bunları güncellemeyi unutma şansını arttırmasıdır. Buna ek olarak, herkes iki araç setini kullanmak ve anlamak zorundadır. Bununla birlikte, belki de müşteriye dönük olmayan tasarım dokümanları için metin tabanlı doküman araçlarına (lateks, işaretleme, HTML, ne olursa olsun) geçmek için harika bir fırsat.
1 gibi, ancak
git lock
svn lock'un bizim için ne yaptığını yapan bir komutu hackliyoruz (salt okunur bayrağı uygun şekilde değiştirin ve bir yolla bir sunucu ile senkronize edin).
Kilitlerin bir DVCS'de çalışmadığı argümanı satın almıyorum çünkü sistem tamamen çevrimdışı olduğunuzda bile çalışmalıdır. Svn kilitleri de geçersiz kılınabilir; onlar bir iletişim mekanizmasıdır. Bir tür ağ bağlantısı olmadan, bilgisayarınızın çok fazla iletişim kurmasını sağlamazsınız.
svn lock
İş akışımıza ne kadar uyduğundan çok memnun olan tek dükkan olamayız, değil mi?
Herhangi bir fikir veya ipucu?
Https://stackoverflow.com/questions/119444/locking-binary-files-using-git-version-control-system buldum ancak tartışma oldukça teknik; Aynı ikili dosyayı aynı anda düzenleyen iki ekip üyesinin pratik sorununu çözmenin veya önlemenin yollarını arıyorum.