Sorunuzun cevabının kocaman bir evet olduğunu düşünüyorum - bir sürüm kontrol sistemi ile dosyalarınızı yönetmenin faydaları böyle bir sistemi uygulama maliyetlerinden çok daha ağır basmaktadır.
Belirttiğiniz bazı noktalara ayrıntılı olarak cevap vermeye çalışacağım:
- Yedekleme: Halihazırda bir yedekleme sistemim var.
Evet, ve ben de. Performans tarafında:
- Yedekleme sisteminiz hangi aralıkta fotoğraf çekiyor?
- Anlık görüntü oluşturmak ne kadar sürer?
- Anlık görüntü çekerken tüm sabit sürücünüzü görüntülemesi gerekiyor mu, yoksa yalnızca kritik güncellemeleri alan iki dosyayı yedeklemesi kolayca söylenebilir mi?
- Yedekleme sisteminiz, kesin doğrulukla, metin dosyalarınızda bir yedeklemeden diğerine değişenleri gösterebilir mi?
Ve en önemlisi:
- Yedekler kaç konuma kaydedilir? Bilgisayarınızla aynı fiziksel konumda mı?
- Tek bir dosyanın belirli bir sürümünü yedekleme sisteminizden geri yüklemek ne kadar kolay?
Örneğin, bir Mac edinin ve bilgisayarımdaki başka bir sabit sürücüye yedeklemek için Time Machine kullanın. Time Machine tuhaf dosyayı kurtarmak veya işler bozulursa sistemimi geri yüklemek için mükemmeldir. Ancak benim önemli çalışmamla güvenmek için gerekenlere sahip değil:
Yedekleme yaparken, Time Machine önemli bir zaman alan tüm sabit diski görüntülemelidir. Çalışmaya devam edersem, dosyama yedeklemeyi başlattığım durumda alınacağının garantisi yoktur. İlk yedekleme tamamlanmadan önce kaydetmek istediğim başka bir noktaya da gelebilirim.
Time Machine yedeklerimin kaydedildiği sabit disk makinemde bulunuyor - bu, verilerimi hırsızlığa, yangına ve diğer felaketlere karşı savunmasız hale getiriyor.
Git gibi bir sürüm kontrol sistemiyle, bir metin düzenleyicide bir kayıt istemek için belirli bir dosyanın yedeğini başlatabilirim - ve dosya anında görüntülenebilir ve saklanabilir. Ayrıca Git dağıtıldığım için çalıştığım her bilgisayarın deponun tam bir kopyası olacak.
Bu, çalışmamın dört farklı bilgisayara yansıtılması anlamına geliyor - tanrı eyleminden kısa bir şey dosyalarımı ve verilerimi yok edemezdi, bu noktada muhtemelen çok fazla umursamıyordum.
- Çatallama ve geri sarma: Bunu yapma ihtiyacını hiç hissetmedim, ancak bunun nasıl yararlı olabileceğini görebiliyorum (örneğin, aynı veri kümesine dayanan birden çok dergi makalesi hazırlıyorsunuz; aylık olarak güncellenen bir rapor hazırlıyorsunuz, vb. )
Solist olarak ben de o kadar çatallanmıyorum. Ancak, geri alma seçeneğine sahip olduğum zamandan beri, bir sürüm kontrol sistemini öğrenme yatırımımı birçok kez geri ödedi. Bunu yapma gereğini hiç hissetmediğinizi söylüyorsunuz - ancak mevcut yedekleme sisteminiz altındaki herhangi bir dosyayı geri sarmak gerçekten acısız, uygulanabilir bir seçenek miydi?
Rapor bazen 45 dakika, bir saat ya da iki gün önce daha iyi görünüyordu.
- İşbirliği: Çoğu zaman verileri kendim analiz ediyorum, dolayısıyla sürüm kontrolünün işbirliği avantajlarından faydalanamam.
Evet, ancak bir projede başkalarıyla işbirliği yaparsanız vazgeçilmez olabilecek bir araç öğrenirsiniz.
- Bir sürüm kontrol sistemini değerlendirme ve öğrenme zamanı
Bu konuda fazla endişelenme. Sürüm kontrol sistemleri programlama dilleri gibidir; öğrenilmesi gereken birkaç temel kavramları vardır ve gerisi sadece sözdizimsel şekerdir. Temel olarak, öğrendiğiniz ilk sürüm kontrol sistemi, bir başkasına en çok zaman ayırmayı gerektirir, sadece yeni sistemin temel kavramları nasıl ifade ettiğini öğrenmeyi gerektirir.
Popüler bir sistem seçin ve devam edin!
- Mevcut dosya yönetim sistemime göre karmaşıklıkta olası bir artış
Projects
Veri analizi faaliyetlerinizle ilgili tüm klasörleri ve dosyaları içeren bir klasörünüz var mı? Eğer öyleyse, o zaman sürüm kontrol tokat dosya sisteminin karmaşıklığını tam olarak artıracaktır 0
. Projeleriniz bilgisayarınız hakkında bilgi alıyorsa - sürüm denetimini uygulamadan önce bunları merkezileştirmelisiniz ve bu, dosyalarınızı yönetmenin karmaşıklığını azaltacaktır - bu yüzden Documents
sonuçta bir klasörümüz var .
- Sürüm kontrolü çabaya değer mi?
Evet! Size büyük bir geri alma düğmesi verir ve USB sürücünüzü kaybetmek gibi şeyler hakkında endişelenmeden işi makineden makineye kolayca aktarmanızı sağlar.
2 Sürüm kontrolünü benimsemenin ana artıları ve eksileri nelerdir?
Düşünebildiğim tek şey dosya boyutunda hafif bir artış- ama modern sürüm kontrol sistemleri sıkıştırma ve seçici kaydetme ile kesinlikle şaşırtıcı şeyler yapabilir, bu yüzden bu oldukça tartışmalı bir noktadır.
3 R ile veri analizi için sürüm kontrolüne başlamak için iyi bir strateji nedir (örn. Örnekler, iş akışı fikirleri, yazılım, kılavuzlara bağlantılar)?
Veri veya rapor üreten dosyaları sürüm kontrolü altında tutun, seçici olun. Gibi bir şey kullanıyorsanız Sweave
, .Rnw
dosyalarınızı saklayın .tex
, onlardan üretilen dosyaları saklayın . Yeniden elde etmek acı verici olursa ham verileri depolayın. Mümkünse, verilerinizi alan bir komut dosyasını ve ham verilerdeki değişiklikleri depolamak yerine temizleyen veya değiştiren başka bir komut dosyası yazın ve saklayın.
Bir sürüm kontrol sistemi öğrenmeye gelince, Git'i ve bu kılavuzu şiddetle tavsiye ederim .
Bu web sitelerinin Git ile belirli eylemler gerçekleştirmeyle ilgili bazı hoş ipuçları ve püf noktaları da vardır: