Tabii ki, bu tür programlar olmadan yapamazdımhiçbir Linux dağıtımı tam olarak gelişmeyecektir. Belirli bir projenin geliştirilmesi için seçilen araç, programcıların çalışmalarını tutarlı bir bütün halinde birleştirmeyi mümkün kılar. Bu araçla, herhangi bir geliştirici programda herhangi bir değişiklik yapabilir ve kontrol sistemi bunu kaydedecek ve sonucu herkese gösterecektir.
Buna göre, bunun temel ilkesiaraç basittir - program kodundaki herhangi bir değişikliğin kaydı. Uygulamaya yeni dosyalar eklendiğinde veya mevcut dosyalar değiştirildiğinde, tüm programın yeni bir sürümü oluşturulur, bu da tüm proje değişikliklerini görüntülemeyi çok uygun ve tutarlı hale getirir. Bir sürüm kontrol sisteminin sağladığı ikinci ana olumlu faktör, uygun ekip çalışmasıdır.
Bunu çözmek için birkaç seçenek vargörevler. En basit durumda, tüm proje dosyalarını barındırmak için özel bir sunucu kullanılır. Bundan sonra, tüm katılımcılar bilgisayarlarına sunucudaki tüm verilerin yerel bir kopyasını kaydeder, ardından kendi değişikliklerini yapar ve bunları ortak sunucu projesiyle senkronize eder. Benzer bir ilke, CVS sürüm kontrol sistemi ve Subversion tarafından kullanılır.
Sistem tasarımının ikinci çeşidi,dağıtılmış bir ilke olmak (eşler arası teknoloji). Bu durumda, ortak bir depolama alanı yoktur, bu nedenle her programcı, projenin kopyasını diğer herkesle senkronize olan kişisel makinesine yerleştirir.
Bu tür bir merkezi olmayan yaklaşım oldukça popülerdir ve örneğin Git gibi gelişmiş bir sistem tarafından kullanılmaktadır.
Kontrol sistemlerinin sadece programcılar tarafından değil, aynı zamanda uygulamanın en son sürümünü indirmesi veya belgeleri yönetmesi gerekenler tarafından da kullanılabileceği unutulmamalıdır.
Bugün çok variş akışını düzenlemek için ilginç çözümler ve her sürüm kontrol sisteminin kendine özgü özellikleri vardır. Bu nedenle, kendiniz için en iyi seçimi yapabilmek için mevcut çeşitte gezinmek önemlidir.
CVS
CVS sürüm kontrol sistemi,en eski RCS sistemi ve daha kullanışlıdır - dosya ile daha az sınırlı çok kullanıcılı çalışma. Her şey, bu yeni sistemin yaratıcısı Dick Grune'un başlangıçta C derleyicisinin ortak gelişimi için bir araca ihtiyaç duymasıyla başladı.
Bu araç bir istemci-sunucu kullanırmodel. Sunucu, dosyalardaki tüm değişiklikleri istemciler tarafından düzenler, işlem sırasında bloke eder veya salt okunur erişim sağlar. Tüm kontroller komut satırından değil, kendi CVS kabuğundan gelir. Birçok Linux sisteminde varsayılan olarak kurulur.
Git
Önceki geliştirmeden farklı olarak, sistemsürüm kontrolü Git, özel bir sunucu gerektirmeyen dağıtılmış bir çözümdür. Temel fark, örneğin, ortak bir projeden veri kaybedilirse, yaratıcıların dağıtılmış kodundan kolayca yeniden birleştirilebilir, ancak sunucuda depolandıysa, böyle bir olasılığın olmadığıdır. Sistemdeki yönetim nispeten basittir, bu nedenle böyle bir aracı kullanmaya geçmek zor olmayacaktır.