Programcı olmayanları (yani tasarımcıları) sürüm kontrolünü kullanmanın kolay yolu?


13

Geliştirme, web geliştirme veya diğer işlemler sırasında ekibinizin sürüm kontrolünü kullanmaya dahil olmasının bazı temel yolları nelerdir?

Onsuz çalışmayı reddediyorum, yani projede yer alan herkesin de kullanması gerekiyor. Bu sadece iyi bir uygulama.

Tower gibi GUI'ler yardımcı oldu, ancak kavramı ya öfke ('benim işim değil!' Tür tutum), çekingenlik ya da sadece kullanmama (yerine FTP kullanarak, demek, dev veya dağıtım için sürüm kontrolünü atlatmak) ).

Düzenleme: Ben sadece görüntüler / PSD demek değil biraz açıklığa kavuşmuş olmalıdır.


11
Kullanımı KOLAY olun ...

1
Git'in birkaç gününü harcadığınızda oldukça kolay olduğunu ve gelişimin nasıl olması gerektiğine dair bir fikir birliğine sahip olduğumu anlıyorum.
Kevin

2
Hatırlanması gereken bir nokta, sürüm kontrolü ve yedeklemenin bazen (çok farklı olsa da) ve ikili verileri olan bir tasarımcıya; Yedekleme zaten bir norm olabilir ve bu yüzden ne kazandığını anlamak anlaşılmalıdır.
Aaron McIver

1
@Kevin: Bir programcı için kolay, açık ve sezgisel olan şey, diğer insanlara, zeki ve yaratıcı başka insanlara bile böyle bir şey olmak zorunda değildir.
David Thornley

1
Bir tasarımcıyla etkileşime geçin ve onu özel olarak sürüm kontrolüne dahil edin. :)

Yanıtlar:


11

Hem geliştiricilerden hem de tasarımcılardan oluşan bir ekip üzerinde çalışıyorum ve hepimiz sürüm kontrolü kullanıyoruz. Tasarımcılar için berbat.

Dosya paylaşımı / yedekleme her zaman Sürüm Kontrolüne eşittir

Dediğinde:

Onsuz çalışmayı reddediyorum, yani projede yer alan herkesin de kullanması gerekiyor. Bu sadece iyi bir uygulama.

İkili verilerle sürüm denetimini kullanmanın tuzaklarından haberdar olmanız gerekir:

  • Üzerine Yazma : İki tasarımcı aynı dosya üzerinde çalışıyorsa, yapılacak ikinci dosya ilk sürümün mevcut sürüm olarak yaptığı değişikliklerin üzerine yazılır. Bunu önlemenin tek yolu, kimin hangi dosyayı ne yapacağını, her ikisinin de ekibinin iş akışını engelleyebilecek olan kilitleme veya sürekli iletişimdir.
  • Birleştirme : İkili verilerde araç destekli birleştirme yoktur. Manuel birleştirme ağrılıdır ve büyük miktarda hataya eğilimlidir.
  • Havuz şişkinliği: VC sistemleri metin dosyaları için yalnızca değişen satırları depolar. Tüm dosya VC sisteminden farklı görüneceğinden, bu ikili verilerde mümkün değildir. Bu, 10KB metin dosyasının 20 sürümünün yalnızca 20KB alabileceği anlamına gelirken, 1MB dosyasının 20 sürümünün muhtemelen 20MB'ye yaklaşacağı anlamına gelir. Orta boyutlu bir tasarım ekibi, düzinelerce ikili dosya üzerinde kolayca birçok düzeltme oluşturabilir. BT departmanınız yakında depolama gereksinimleri ve hatta VC sunucunuzun sahip olacağı artırılmış bellek / CPU için nefret edebilir.

    Siz ve diğer geliştiriciler, ikili dosyaları önlemek için çok iyi bir depo kuruluşu kurmadıkça, ödeme veya güncellemelerin ne kadar sürebileceğinden de kısa süre içinde nefret edebilirsiniz.

  • Azalan fayda : Tasarımcılarınız nadiren, eğer varsa, ikili dosyaların önceki sürümlerine geri döner, çünkü 1) geçmiş bir sürümün içeriğini kontrol etmenin kolay bir yolu yoktur 2) Yine de birleştirmenin kolay bir yolu yoktur ve en önemlisi, 3) Bu şekilde çalışmazlar - üretim dosyalarının kendileri için hala yararlı olabilecek bazı grafiklerin alternatif sürümlerini oluşturmak için kullanılırlar.

Kodunuz için kesinlikle VC kullanıyor olmalısınız ve bunu talep etme hakkınız vardır.

Ancak, bunun herkesin de kullanması gerektiği ve tasarımcılar için bile iyi bir uygulama olup olmadığı (yedek olsa da) varsayımını kontrol etmeniz gerekir . Web sitenizin / uygulamanızın gerektirdiği son grafik varlıklarını VC'nizde saklamalısınız, ancak üretim dosyaları için doğru çözüm olmayabilir.


"Havuz şişmesi" ile ilgili olarak: doğru dosya formatlarıyla bu sorunu çözmeye çalışabilirsiniz. Belge biçimlendirme dili biçiminde saklanan belgeler ve eşdeğer ikili biçimler yerine grafik biçimlendirme dili biçiminde depolanan grafikler çok yardımcı olabilir. Elbette bunun uygulanabilirliği söz konusu projeye ve ilgili kişilerin istekliliğine ve yeterliliğine bağlıdır. ;)
Baelnorn

5
Herhangi bir değere sahip VCS'lerde üzerine yazma gerçekleşmez. Olan şey, aynı dosyanın iki sürümüne sahip olmanızdır. Evet, havuzun başındaki son kayıt olacak; ancak diğer tasarımcının çalışmaları paylaşılan bir sabit diskte olduğu gibi kaybolmaz . Bence bu önemli bir ayrım.
Berin Loritsch

2
@Berin: Bu doğru, ancak modern VCS'nin avantajlarından biri, iki kişinin aynı anda aynı şey üzerinde çalışabilmesi ve birçok uzlaşma çalışmasının otomatik olmasıdır. Bununla birlikte, anlamlı bir birleştirme işleminin olmadığı bir ikili dosya ile bu mümkün değildir. Ayrıca, deponun başı, insanların "gerçek" olarak düşünecekleri bölümdür.
jprete

1
Kaynak kodu ve tasarım belgeleri için yaşam döngüsü farklı olduğundan, onlar için ayrı depolar kullandığınızdan emin olun. Depoların tasarımcılar için emdiğini kabul etmiyorum; çoğu zaman düşünmeye ve modellemeye harcanır, belgelerde çok küçük değişiklikler yapmaz. Ayrıca, otomatik birleştirmeye (depolarda depolanan tüm dosyalarda) izin verilmemesini ve dolayısıyla düzenlemeler için zorunlu dosya kilidinin kullanılmasını bir kural haline getiririz. İyi ekip iletişimi ile birleştiğinde, bahsettiğiniz dezavantajların çoğu önlenir.
rsp

1
Oldukça yanlışsınız, örneğin: Üzerine yazma - bu, sürüm kontrolü sorunu değil, tam tersi, onu tespit etmenize yardımcı olur. VC sistemleri metin dosyaları için yalnızca değişen satırları saklar. - Git için yanlış.
maaartinus

4

Onsuz çalışmayı reddediyorum, yani projede yer alan herkesin de kullanması gerekiyor. Bu sadece iyi bir uygulama.

Bu harika bir tutum, tam orada 'benim işim değil!' :-)

Satın almanın en iyi yolu, sürüm kontrolünü Explorer'a entegre etmek için TortoiseGit veya TortoiseSVN gibi bir şey kullanmaktır (Windows varsayarak). Sürüm kontrol paradigmasına alışkın değilseniz, gerçek fayda görmeniz zaman alır. Kaplumbağa en azından fare ile VCS ile çalışmayı kolaylaştırır. Basit bir "Sağ Tık -> Checkin" yeterlidir.

Bu nedenle, her dosya kapatıldığında TortoiseGit'te şeffaf sürüm kontrolü uygulamak istiyordum. Birisine üzerinde çalışmak için bir şube verirseniz ve sonra her yazma / kapatma bir taahhüt işlemi haline gelirse, bir noktada geliştirici olarak tüm deponun tutarlılığı konusunda endişelenmeden dallarını birleştirebilir ve sürüm kontrolü hakkında bilmek zorunda kalmadan yaptıkları işi yapmak.

İnsanları sürüm denetimine alamadığım çok sayıda denetim belgesi için de aynı sorunu yaşıyorum, bu yüzden aynı belgenin etrafında yüzen ve tamamen farklı olan 50 sürümümüz var.


4

Bu yaklaşım yöntemi nedir kurulumu bir yapı sistemi (gibi Hudson kullanır) inşa kaynaklarını almak için sürüm kontrol sistemi , yalnızca bu ve buna bir proje kuralı yapmak eserler bir olan yapı sistemi tarafından dağıtılan test ekibi gidip edilir nihayetinde müşteri sitesine dağıtıldı.

Proje süreci söz konusu olduğunda, yapıdan gelmeyen herhangi bir şeyin sadece geliştiricilere özel olduğunu açıkça belirtin; birisinin işi yapıya kabul edilmediği sürece, mevcut olmayabilir de.


2

Avantajları açıklayın:

  • Herkesin iş paylaşmasına ve merkezi bir konuma erişmesine izin vererek onlara nasıl zaman kazandırabileceklerini gösterin.
  • Onlara tasarımcıların projenin farklı bölümleri üzerinde aynı anda nasıl çalışabileceğini ve bir araya getirmelerini nasıl sağladığını gösterin.
  • Test veya sorun giderme amacıyla bir uygulamanın eski sürümünü nasıl etiketleyebileceklerini ve oluşturabileceklerini gösterin.
  • Onlara deneme amaçlı bir tasarımla nasıl uğraşabileceklerini gösterin ve ardından projeyi yenileyin ve istemiyorlarsa değişiklikleri tutmayın.
  • Onlara zaman içinde neler olduğunu nasıl görebileceklerini gösterin.

1
-1 Bu programcı olmayanlar ile ilgiliydi; liste bir programlayıcıya göre görüntülenir. Cevabınızı değiştirirseniz kesinlikle aşağı oyu kaldıracağım ...
Aaron McIver

1
Bence "programcı olmayanlar için" bölümünü kaçırdınız. Bahsettiğiniz tüm görevler programcı görevleridir.
Erik Funkenbusch

Üzgünüm, sadece başlığı okudum, başlığı değil. Cevabı düzenleyeceğim.
jzd

1 Kaldırıldı ...
Aaron McIver

1

Sürüm kontrolü ile ilgili "benim işim değil", programcı olmayanların akıl almaz bir tutumudur.

Dropbox'ın senkronizasyon için olduğu kadar yedekleme için Time Machine kadar basit ve görünmez bir sürüm kontrol sistemi oluşturun.

Sadece işe yaramalı. Ödeme yok, taahhüt yok. Dosyaları proje klasörüne koymanız yeterli.


1

TortoiseHG / mercurial yeni Web sitesi hanımefendi, hiçbir sorun var kullanıyorum. Hiçbir ödeme yapmamak süper basitleştirir ve dosyaların senkronize edildiğinden emin olmak zorunda olan kişi üzerindeki tüm baskıyı koyar. Hatta "yapılacak bir şey daha" gibi görünmüyor, sadece, "tamam web sitesini göstereceğim, bu yüzden Peter'dan değişiklikleri yeniden senkronize etmesini istemeliyim." ve bu hiç sorun değil.

Daha önce mercurial ile hiçbir deneyimim yoktu, VSS kullanıyoruz ve web sitesi kaynak kontrolü için kimseye bunu asla istemezdim. Bir kez denedim ve o zaman kullanmak istemediğim için kimseyi suçlamam.


0

Kaplumbağa * klonlarının kullanımını söyleyebilirim, daha basit. Veya sürüm kontrolünü IDE'ye veya başka bir şekilde entegre edin.

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.