Sürüm kontrolü değişiklik geçmişini neden tutar
Sürüm kontrolü, dosyanın kim tarafından ne zaman değiştiğini saklar. Denemeyi ana kopyadan ayırmak ve geri dönmek için kısa bir sıra anlatıyoruz.
Bir belgeyi masaüstünde rapor-son, rapor-son2 ve rapor-gercek-son diye çoğaltmak bir tür geçmiştir. Geçmiş dağınıktır. Hangi dosyanın hangi cümleyi taşıdığı, adın içine sığmaz. Sürüm kontrolü, bu dağınıklığın yerine düzenli bir kayıt koyar. Her kayıt, kim, ne zaman ve hangi satırlar değişti diye durur. Kayıt, hatayı silmek için değil, hatadan geri dönebilmek içindir.
Not, dosya adının yerine geçer
İyi bir kayıt notu, düzelttim demez. Neyin düzeldiğini söyler. Yarın siz veya bir başkası, o satırın neden değiştiğini nottan okur. Not yoksa geçmiş, yalnızca bir yığın farktır. Fark, niyeti taşımaz. Niyet kaybolunca geri dönmek de korkutucu olur. Korku, bozuk sürümü yerinde bırakır.
Kayıt küçük tutulursa not da küçük kalır. Bir günde on işi tek kayda yığmak, notu roman yapar. Romanın içinden tek bir hatayı ayıklamak zordur. Küçük kayıt, küçük geri dönüş demektir.
Dal, denemeyi karantinaya alır
Ana kopya, çalışan hâldir. Riskli bir fikir, ana kopyanın üstüne yazılırsa herkes o riski yaşar. Dal, aynı geçmişten ayrılan bir deneme çizgisidir. Deneme tutarsa ana kopyayla birleştirilir. Tutmazsa dal durur, ana kopya bozulmaz. Bu, buluttaki çakışma kopyasından daha bilinçli bir ayrımdır: https://biliminizi.com/bulut-senkronunda-dosya-cakismasi.
Birleştirme, iki çizginin aynı satırı değiştirmiş olmasını da gösterir. Gösterilen çakışma, sürpriz bir ezme değildir. İnsan, iki cümleyi okuyup birini seçer. Seçim, saatin yeni olmasına bırakılmaz.
Yedek ile aynı şey değildir
Sürüm kontrolü, değişikliğin nedenini tutar. Yedek, felakette duran ayrı bir kopyadır. Depo tek bir diskteyse yangın ikisini birden götürebilir. Üç kopyalık yedek düzeni bu yüzden durur: https://biliminizi.com/yedekleme-3-2-1-kurali. Geçmiş, yedeğin yerine konmamalıdır. Yedek de notun yerine geçmez.
Gizli anahtar ve parola, depoya yazılmamalıdır. Geçmiş, silinen satırı da saklayabilir. Saklanan parola, dosyadan silinse bile eski kayıtta durur. Sır, sürümün konusu değildir. Yöneticinin konusudur: https://biliminizi.com/parola-yoneticisi-secerken-bakilacaklar.
Birlikte yazmak
İki kişi aynı dosyayı paylaşınca sıra, nezaketten çok kaydın işidir. Herkes kendi küçük kaydını düşer. Birleştirme, kimin satırının kaldığını gösterir. Göstermeyen bir klasör, son kaydedenin herkese ait cümleyi ezmesine açıktır. Ezme, kötü niyet olmak zorunda değildir. Araç, farkı göstermiyordur.
Açık kaynak projelerinde bu kayıt, katkının da izidir. Lisans, katkının nasıl dağıtılacağını ayrıca söyler: https://biliminizi.com/acik-kaynak-lisansi-kullanma-dagitma. Geçmiş, lisansı kendiliğinden çözmez.
Ne zaman şart sayılır
Tek bir ödev ve tek bir öğleden sonra için dosya adı yeter olabilir. Bir haftayı aşan, birden fazla kişinin dokunduğu veya geri dönme ihtimali olan işte kayıt, zaman kazandırır. Kazanç, aracı kurmanın sıkıcılığından büyüktür. Küçük işte ise araç, işin kendisinden ağır olabilir. Ağırlık, her klasöre zorunlu bir tören değildir.
Sık sorulan sorular
Sürüm kontrolü yedek midir? Tek başına değil. Değişikliğin nedenini tutar. Ayrı bir kopya, felaket için hâlâ gerekir.
Dal şart mıdır? Riskli denemede evet. Ana kopyayı bozmadan denemenizi ayırır. Küçük ve tek kişilik bir düzeltmede her zaman gerekmez.
Eski parola geçmişte durur mu? Dosyaya bir kez yazıldıysa eski kayıtta durabilir. Sır, depoya konmamalıdır. Konduysa yalnızca son satırdan silmek yetmeyebilir.
Adımlar
- Küçük adımı notla kaydedin: Çalışan bir değişikliği, neyi neden değiştirdiğinizi söyleyen kısa bir notla kaydedin. Not, yarınki sizin için yazılır.
- Denemeyi ayrı dalda yapın: Riskli bir fikri ana kopyanın üstüne yazmayın. Ayrı bir dalda deneyin. Olmazsa ana kopya durur.
- Birleştirmeden farkı okuyun: Dalı ana kopyayla birleştirmeden önce hangi satırların değiştiğine bakın. Bakmadan birleştirmek, çakışmayı sürpriz yapar.