Sürüm Kontrol Sistemi Nedir?
İngilizce: Version Control System
Yayın: · Son güncelleme:
Sürüm Kontrol Sistemi Nedir? Kısaca
Sürüm kontrol sistemi (version control system), dosyalarda yapılan her değişikliği kim, ne zaman ve neden yaptığıyla birlikte kaydeden ve gerektiğinde eski sürümlere dönmeyi sağlayan yazılımdır. En yaygın örneği Git'tir.

Sürüm kontrol sistemi nedir?
Sürüm kontrol sistemi, bir projedeki dosyaların zaman içindeki tüm hâllerini kaydeden yazılımdır. "rapor_son.docx", "rapor_son_gercek.docx" gibi dosya adlarıyla sürüm takibi yapmanın düzenli ve güvenilir karşılığıdır. Her kayıt noktasında neyin değiştiği, kimin değiştirdiği ve neden değiştirdiği saklanır.
Ne işe yarar?
İlk faydası geri dönebilmektir. Dün çalışan kod bugün bozulduysa, iki sürüm arasındaki farka bakar ve sorunu yaratan değişikliği bulursunuz. Gerekirse projeyi tek komutla dünkü hâline döndürürsünüz.
İkinci faydası ekip çalışmasıdır. Beş kişilik bir ekip aynı dosyalar üzerinde aynı anda çalışabilir. Sistem değişiklikleri birleştirir. İki kişi aynı satırı farklı şekilde değiştirdiyse bunu bildirir ve hangi değişikliğin kalacağına karar vermenizi ister.
Bir başka avantaj, deneme yapma özgürlüğüdür. Yeni bir özelliği ana koddan ayrı bir dalda geliştirir, işe yararsa birleştirir, yaramazsa silersiniz.
Merkezi ve dağıtık sistemler
Eski sistemlerde, örneğin SVN'de, projenin geçmişi tek bir merkezi sunucuda tutulurdu. Sunucuya erişim kesildiğinde kayıt yapmak mümkün olmazdı. Git gibi dağıtık sistemlerde ise her geliştiricinin bilgisayarında projenin tüm geçmişi bulunur. İnternet olmadan çalışabilir, sonra değişiklikleri paylaşabilirsiniz.
Nereden başlamalı?
Bugün sektörde en yaygın sürüm kontrol sistemi Git'tir. Küçük bir kişisel projede bile Git kullanmaya başlamak, ekip ortamına geçtiğinizde size büyük kolaylık sağlar. İlk adım olarak bir klasörde git init çalıştırıp birkaç değişikliği kayıt altına almayı deneyin.
Sıkça Sorulan Sorular
Sürüm kontrol sistemi yalnız kod için mi kullanılır?
Hayır. Metin tabanlı her dosya için kullanılabilir. Belgeler, konfigürasyon dosyaları, kitap taslakları ve web sitesi içerikleri de sürüm kontrolünde tutulabilir.
Merkezi ve dağıtık sürüm kontrolü arasındaki fark nedir?
Merkezi sistemde (ör. SVN) tüm geçmiş tek bir sunucuda durur. Dağıtık sistemde (ör. Git) her geliştiricinin bilgisayarında projenin tüm geçmişinin bir kopyası bulunur.