logo

Yüz Yüze Konuşmaya Ne Dersiniz?

Yaptığı her işte en güzelini yapmaya çalışan, yaratıcı, disiplinli bir ekibiz. Topluluk yönetimi, eğitim teknoloji ve robotik gibi niş konularda uzmanlıklarımız var. Birlikte neler yapabileceğimize bakmak, tanışmak, hayata katma değer sağlamak için görüşmeye ne dersiniz?
iletisim@artistanbul.io
+90 0212 251 64 37

Git, Stupid Content Tracker

Git, Stupid Content Tracker

Git, temelde bir yazılım geliştirme aracı. 3 Nisan 2005 yılında Linus Torvalds tarafından başlatılmış, 6 Nisan günü topluluğa duyurulmuştur. İlk kararlı sürümü, 7 ay sonra çıkarılmıştır.

Git, “Global Information Tracker” olarak bilinse de, Torvalds “Stupid Content Tracker” olarak nitelendiriyor.

Git üzerinde geliştirdiğiniz projeleri cloud üzerinde barındırabilmeniz için bazı servisler bulunmaktadır. Bunlara örnek olarak, açık ara en popüleri GitHub gösterilebilir. Ücretsiz private depo oluşturmak isteyenlerin tercihi de BitBucket ya da AWS CodeCommit olabilir. “Kendim host etmek istiyorum ancak yönetimi de kolay olsun” derseniz, GitLab kullanabilirsiniz.

Git’in genel kullanımıyla alakalı Git Başlangıç Kitabı yardımcı olacaktır. Git ipuçlarına daha teknik olacak şekilde örneklerle ayrı bir yazıda değinebiliriz ancak bu yazının konusu, büyük boyuttaki dosyaları Git ile nasıl takip edeceğimiz.

Git ile büyük boyuttaki dosyaları takip etmenin bazı zorlukları vardır. Örneğin; GitHub depo başına 1 GB, tek dosya başına da 100 MB sınır koyduğu için bu boyutları aşan dosyaları takip etmeniz zorlaşabilir. Bu durumda GitHub’a sadece codebase’i gönderip kalan dosyaları da (PDF, video, resim vs olabilir) farklı bir yere gönderebilirsiniz. Farklı bir yer; NAS, Amazon S3, Dropbox, SCP veya SSH ile uzaktaki sunucu vb. olabilir.

Peki, nasıl olacak? Cevap, Git-annex.

 

Git-acilis01

Git-annex kurulumu

Git-annex kurulumuna değinmeden, parametreleri kısa bir örnekle netleştirmeye çalışacağım.

Örneği, varolan bir proje kodlarını GitHub’a, media klasörünü de ağa dâhil olan bir NAS cihazına göre vereceğim. Farklı servisleri belgelendirme sayfasından special remotes kısmından inceleyebilirsiniz.

Git ile takip ettiğiniz proje klasöründe;

  • git remote add officenas /mnt/medianas — NAS içindeki ilgili klasörün fiziksel yolunu ya da mount ettiyseniz, mount ettiğiniz fiziksel adresi remote url olarak ekliyoruz.
  • ‘git annex init “nas”‘ ile klasörü takip ettikten sonra “git annex add klasor” ile de klasörü annex’e ekliyoruz. (Klasörü yeni eklediyseniz önce git takip etmeli ve commit yapmalısınız.)
  • “git annex sync” komutuyla senkronizasyonu başlatabilirsiniz.
  • NAS’da git clone ile projeyi çekebilir ya da remote url olarak github adresini verebilirsiniz. “git annex sync” ile senkronizasyonu tamamlayabilirsiniz.
  • Ayrıca “git annex drop filename.ext” ile dosyayı annex’den silebilirsiniz. “git annex get filename.ext” ile tekrar geri getirebilirsiniz.
  • “git annex whereis filename.ext” ile dosyanın nerede olduğunu da görebilirsiniz.

Eğer dosyayı “git rm filename.ext” ile silerseniz, sonrasında “git annex sync” yaptığınızda her yerden silebilirsiniz.

Sormak istediklerinizi lütfen yorum olarak belirtin.

Diğer servisler için ipuçları sayfasına bakabilirsiniz.

Ciao.

Erkan Çakmak
3 Yorumlar
  • Ali Işıngör
    Cevapla
    Gönderim11:37, 5 Ağustos 2016

    Sevgili Erkan Çakmak’ın anne tarafından İtalyan olduğunu pek kimse bilmez ama neyse… Yazının sonundaki “Ciao” kelimesinin sebebi hikmeti budur.

  • Gönderim17:29, 6 Ağustos 2016

    Erkan, doğru cevap git-lfs olmalıydı. ☺

  • Gönderim11:29, 20 Ocak 2017

Yorum Yaz

Yorum
İsim
E-Posta
Website