Sürüm kontrolünü kullanmanın değeri nedir?


19

Sürüm denetiminde yeniyim (şu anda SVN kullanıyorum), ancak bunun geliştiricilere nasıl yardımcı olduğunu anlamıyorum. Sürüm kontrolü onu geliştirme ortamında kullanışlı kılan ne yapar?


4
Eric Sink'in mükemmel Kaynak Kontrolü NASIL serisini okuyun: ericsink.com/scm/source_control.html . Geri kalanı için, burada cevaplayacak veya tartışacak çok şey yok.
Deckard

4
Kaynak kontrolü, ihtiyacınız olana kadar anlamsız görünen şeylerden biridir. O zaman onsuz yapamayacağınızı fark edersiniz. Ne yazık ki, o zamana kadar çok geç. Kaynak sigortası gibi bir şey, ancak çok daha fazla fayda sağlamak için kaynak kontrolü buluyorum .
Rein Henrichs

2
@rahmanisback Dosya | Yeni Proje'yi yaptıktan hemen sonra istiyorsun ... projede> 1 geliştiriciniz olur olmaz buna ihtiyacınız var (standart çizgim> 0 geliştirici - ve bunun her zamankinden daha doğru olduğuna inanıyorum)
Murph

8
Sürüm kontrolü olmadan çalışmak, makalenizi yazmak için kullandığınız kelime işlemciden "Geri Al" komutunu kaldırmak veya masanızdaki tüm silgileri ve düzeltme sıvılarını kaldırmak gibidir.
rwong

2
@rahmanisback Yanlışlıkla bir dosyayı sildiğinizde ya da başka bir şekilde veri kaybettiğinizde. @ rwong güzel benzetme.
Rein Henrichs

Yanıtlar:


21

VisualSVN ve TortoiseSVN sadece SVN sunucusu için UI istemcileridir. SVN sunucusu kaynak / sürüm kontrol sistemidir. Sürüm kontrol sistemi, kaynak kodlarınızı sürümlerini depoladığından herhangi bir gerçek geliştirme için temel bir varlıktır. Sürüm kontrol sistemini kullanırken, kaynak kodların yalnızca yerel kopyasını tutarsınız. Ana kopya sürüm kontrol sisteminde saklanır ve sistemde değişiklik yaparsınız.

SVN şunları sağlar:

  • merkezi depo aracılığıyla tüm ekipler arasında kolay kaynak kodlarını paylaşma
  • kaynak kodlarınızı ve proje ile ilgili diğer kaynak dosyalarınızı yedekleme
  • kaynak kodlarının nasıl değiştiğini geçmişi tutmak
  • geçmişte tutulan herhangi bir sürüme geri dönebilirsiniz
  • sürümler arasındaki değişiklikleri karşılaştırabilirsiniz
  • kimin değişiklik yaptığını görebilirsiniz
  • dosyayı özel erişim için kilitleyebilirsiniz, böylece başka kimse dosya üzerinde çalışamaz
  • herhangi bir kaynak kodu dosyasında kimin çalıştığını veya dosyayı kimin kilitlediğini görebilirsiniz
  • aynı dosyada paralel çalışma durumunda değişiklikleri birleştirebilirsiniz
  • taahhüt edilen değişikliklerle ilişkili yorumları görebilirsiniz
  • ek araçlarla taahhüt edilen değişiklikleri görevlerle ilişkilendirebilirsiniz
  • örneğin üretim sürümlerini kolayca bulmak için sürümü etiketleyebilir / etiketleyebilirsiniz
  • şube kaynak kodunu kullanabilirsiniz - bir dalın ana dal olarak kabul edilebileceği paralel sürümler oluşturun ve diğer özellikler bazı özel özellikleri test etmek veya mevcut üretim sürümüne düzeltmeler anada sabitlenirken yeni ürün sürümünün geliştirilmesine devam etmek için kullanılabilir şube
  • şubeler arasındaki değişiklikleri birleştirebilirsiniz
  • vb.

VisualSVN, Visual Studio UI'den doğrudan SVN deposunu kullanmanızı sağlayan Visual Studio'nun bir uzantısıdır. TortoiseSVN, klasörlere ve dosyalara göz atarken doğrudan SVN deposunu kullanmanızı sağlayan Windows Gezgini'nin bir uzantısıdır.


+1. Haaa .. on yıldan fazla bir süre VCS kullandıktan sonra, 'neden' diye cevap vermek gerçekten zor. Demek istediğim bu çok açık - ama bunu yapma şeklinizi gerçekten 'neden' ifade etmek gerçekten zor! Mükemmel cevap.
Dipan Mehta

AnkhSVN'nin SVN'yi Visual Studio'ya entegre eden katil bir iş yaptığına inanıyorum.
Saul Delgado

6

Sürüm kontrolü birkaç şey sunar:

  • Daha önceki noktalarda bulunduğu durumu görebilmek için yazılımınızı arşivleyin. Bir hatanın nereden tanıtıldığını bulmak için çok kullanışlıdır.
  • Aynı projedeki birden çok geliştiricinin çalışmalarını paylaşmasına ve koordine etmesine izin verirken, birbirlerinin çalışmasının üzerine yazmaya karşı korumaya yardımcı olun.
  • Özellikle korunan ve yedeklenen merkezi bir sunucu aracılığıyla bireysel ve iş sürekliliğini destekleyin.

Sadece ne olacağını görmek için müdahalede ötesinde herhangi bir yazılım geliştirme çalışması için bir minimum.

Her zaman ilk kez bir sürüm kontrol sistemi ile çalışan herkesi, bundan kaçınmanın sadece sorun yaratacağı konusunda uyarıyorum. Onlar OLACAK geri baktığınızda onlar bir sorunla OLACAK onlar sistemini kullanılırsa olmazdı biliyoruz.


0

En üretken geliştirici yalnız. Yalnız bir geliştirici asla başkasıyla koordinasyon konusunda endişelenmek zorunda kalmaz. Ancak proje çoğul hale gelir gelmez, ek yük var. Ve ekibe eklenen her geliştirici için ek yük kötüleşir. Bu yükü yönetmeye ve etkileri en aza indirmeye yardımcı olmak VCS'nin görevidir.

http://www.ericsink.com/vcbe/html/dvcs_private_workspace.html


8
Yalnız bir geliştiricinin bile sürüm kontrolüne ihtiyacı vardır. VCS, bu alıntıdan da anlaşılacağı gibi, "genel giderleri yönetmez".
alroc

5
Yalnız bir geliştirici bile bir hafta önce yanlış bir şey yaptığını fark edebilir ve eski kodu geri almak ister. Yalnız bir geliştirici bile orijinal kod tabanını riske atmadan büyük ve karmaşık bir refacter seti denemek isteyebilir.
Robot Gort

Sürüm kontrolünün "yedekleme" ve "geri yükleme" yönlerinin çoğu için açık olduğunu düşünüyorum, ancak sürüm kontrolünün birisinin değerini gerçekten anladığı işbirliğinin yükünü azaltmaya nasıl yardımcı olduğunu anlayana kadar değil.
Jace Browning
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.