Unity'de sürüm kontrolü için en iyi uygulamalar?


11

Ben sadece Unity ile sürüm kontrolü kullanmak için biraz karışık, özellikle sadece kod değil sahneleri veya prefabrikler gibi nesnelerle.

Son zamanlarda meslektaşım ve ben aynı sahnenin farklı bölümleri üzerinde çalışırken bir sorun yaşadık. çatışma, dallanma ve birleşme bolluğu ile sonuçlandı.

Sonunda benim revizyonum onun değişiklikleri tarafından zaten geçersiz kılındı.

Şu an görebildiğim tek yol sırayla aynı nesneler üzerinde çalışıyor olmamız, ama çok uygun görünmüyor, özellikle de şu anda yaptığımız tüm çalışmalar sahnelerde olduğu için.

İnsanlar bu durumlarda genellikle ne yapar?

(Mercurial, BitBucket ve SourceTree kullanıyoruz.)


1
Erm. Sorduktan sonra neden 5 dakikadan daha kısa bir süre önce reddedildiğimi açıklamak ister misiniz? Sorunun ne olduğunu bilmiyorsam soruyu daha iyi hale getiremem.
Kaworu

2
Ben de bununla karşılaştım. Senaryoları hiçbir prob koyabilirsiniz, ancak sahneler vb daha zor görünüyor
Ewan

1
Bu sahne dosyaları birleştirilmesi zor metin dosyaları mı yoksa daha az imkansız olan ikili dosyalar mı? İkili iseler, Unity bunun için birleştirme (ve belki de farklı?) Araçlar sağlıyor gibi görünüyor .
Nathan Cooper

@NathanCooper Anlayabildiğim kadarıyla ikili. En azından ikili gibi davranıyorlar ve bunları bir metin düzenleyicide açmak bana derlenmiş başka bir dosya ile aynı miktarda mumbo-jumbo veriyor. Smart Merge'i bilmiyordum. Teşekkürler!
Kaworu

Yanıtlar:


6

GitHub kullanıyorsanız aşağıdaki çözümü deneyebilirsiniz.

  1. Birlikte Düzenle-> Proje Ayarları -> Editör'ü, ardından Proje Ayarlarını Denetleme'de açın.
  2. "Sürüm kontrol modu" nu "Görünür meta dosyalar" olarak değiştirin.
  3. "Varlık serileştirme modu" nu "Metni zorla" olarak değiştirin.

Bu benim için iyi çalışıyor.


3

Çoğu sürüm kontrol sistemi (VCS) metin için tasarlanmıştır. Genellikle diffkaynak kodunu karşılaştırmak ( ) ve birleştirmek için çok güçlü ve kullanışlı özelliklere sahiptirler ve bazı araçlar değişiklikleri otomatik olarak birleştirebilir (ve değişikliklerin nasıl birleştirilmesi gerektiğini ve geliştiricinin hangi noktada yapılması gerektiğini manuel birleştirme).

diffİkili dosyalar için bu dosyaları kullanan ilgili uygulamalardan daha iyi bir desteğe ve birleştirmeye sahip olmak harika olurdu . Örneğin Microsoft Word, iki belgeyi karşılaştırmayı mümkün kılar ve kullanışlı bir birleştirme aracı olmaktan uzak olsa da, yine de hiçbir şeyden daha iyidir ve beni birkaç kez kurtardı. Ne yazık ki, birleştirme özelliği genellikle yazılım ürünlerinde denetlenir veya uygulanması zordur ( diff3B sahneyi nasıl görselleştiriyorsunuz ?)

İkili dosyalar söz konusu olduğunda, VCS'den çok az yardım alırsınız. Sadece ardışık değişiklikleri verimli bir şekilde depolamakla kalmaz, aynı zamanda değişiklikleri birleştirmenize de yardımcı olamazlar.

İki yıl önce, video düzenleme yazılımında sürüm kontrolü kullanımı ile ilgili çok benzer bir soru sordum . Soruma verilen cevapların burada da kısmen geçerli olduğuna inanıyorum, tek (ama önemli) fark, sorumun büyük dosyalarla ilgiliyken, sizin durumunuzda ikili dosyalar muhtemelen nispeten küçük.

Bulduğunuz yaklaşım, yani “aynı nesneler üzerinde sırayla çalışmak” iyi bir yaklaşımdır. Birleştiremiyorsanız, aynı şeylerle paralel olarak çalışmayın. Aynı ofiste çalışıyorsanız, bunu yapmak kolay olabilir. Değilse, (çoğu sürüm kontrol sistemleri kullanmak da dahil olmak üzere , aynı zamanda tartışılan oluyor burada BitBucket bağlamında) desteği kilitleme , sistem üzerinden anlatacak bir VCS kullanıcı için oluşur, o belirli bir dosya sağda çalışıyor o Şimdi; diğer kullanıcılar dosyanın en son sürümünü yükleyebilir, ancak dosyayı değiştirmeleri beklenmez.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.