GIT Versiyon Kontrol Sistemi Nedir ?
Bu yazımız ile GIT nedir onu anlatıyoruz. GIT kelimesini daha önce çok kez duyduysanız aradığınız bilgilendirme bu yazıda.
GİT nedir?
GIT sürüm kontrol sisteminin ne olduğunu açıklamaya başlamadan önce sözelci moduna geçelim ve "git" kelimesinin ne anlama geldiğinden ve sistemin kısa bir tarihsel gelişiminden bahsedelim.
Peki bunu neden yapıyoruz? GIT sürüm kontrol sistemi nedir? Sorulara cevap ararken konu hakkında kuru bilgi almak yerine biraz kültürel kazanım sağlayacağız ki konuyu içselleştirelim ve derinlik kazanalım. Bu ve sonraki sayfalarda GIT hakkında öğrendiklerimizi kolay kolay unutmayalım.
"git" ne demek
Cambridge Sözlüğü'ne göre; aptal, nahoş kişi anlamına gelir. İsimlendirme hakkında soru sorulduğunda, Torvalds mizahi bir şekilde cevap verdi: "Ben bir egoistim ve projelerime kendi ismimi veriyorum. Linux'tan önce, git şimdi." Veya Torvalds'ın belirttiğine göre, ruh halinize bağlı olarak değişir diyor. Şimdi şaka dolu anlatımdan ziyade bilgilere geçelim.
GIT'in Tarihsel Gelişimi
Linux mimarı Linus Torvalds, birçok kişiyle Linux çekirdeğini geliştirirken, projeleri yönetmek için o zamanlar piyasada bulunan sürüm kontrol sistemi olan BitKeeper'ı kullanmayı tercih etti. Ancak, BitKeeper'ın telif hakkı sahipleriyle ilgili yasal sorunlar nedeniyle bu kullanımdan vazgeçildi. O zamanlar piyasadaki sürüm kontrol sistemlerinin hiçbiri Torvalds'ın beklentilerini gerçekten karşılamadı. Bu nedenle Torvalds ihtiyaçlarına çözüm bulmak için kolları sıvadı ve piyasadaki sistemleri araştırarak kendi versiyon kontrol sistemini yazmaya başladı. İlk sürüm 2005 yılında piyasaya sürüldü. Piyasaya sürülmesinden bu yana geçen süre içinde GIT çok büyük bir pazar büyüklüğüne ulaştı.
GIT sürüm kontrol sistemi nedir?
GİT nedir? Sorduğunuzda sürüm kontrol sistemi yanıtı alırsınız. Ancak sürüm kontrol sistemi nedir? Projemi geliştirirken "proje", "projee", "projee_son", "projee_son_5" gibi klasörler alamaz mıyım? GIT öğrenmiyor musunuz? - Bu imkansız!
Son soruyla başlayayım. Profesyonel bir iş yapacaksanız GIT okumalısınız. Klasör adlarının sonuna fazladan harf ve rakam ekleyerek projeler geliştirin, bu ileride halledilebilecek bir şey değil.
Sürüm kontrol sistemi nedir?
Soruya gelecek olursak; bir belgede yaptığınız değişiklikleri (yazılım projeleri, ofis belgeleri vb.) aşamalı olarak izleyen, istediğiniz zaman kaydeden ve istediğiniz zaman bilgisayarınızda veya bilgisayarınızda saklamanızı ve yönetmenizi sağlayan bir sistemdir. İnternet. Yerel cihaz (depo/repo).
Sürüm kontrol sistemleri yerine kaynak kod yönetim sistemlerini de duymuş olabilirsiniz. İkisi de aynı anlama geliyor.
GIT bize ne veriyor?
- Dosyaları ve sürüm kontrol bilgilerini birden çok konumda (dağıtılmış) saklayabilirsiniz. Bu nedenle, dosyalarınıza cihazdan bağımsız olarak erişebilirsiniz.
- Bir projenin veya dosyanın mevcut durumunu herhangi bir zamanda Commit aracılığıyla kaydetmek için SnapShot özelliğini kullanabilirsiniz. Bu sayede ileride bir hata ile karşılaşırsanız her zaman herhangi bir sürüme dönebilirsiniz.
- Anlık görüntüyü aldıktan sonra, değiştirilen dosyayı görebilirsiniz.
- Ekiplerin aynı proje üzerinde birlikte çalışmasına olanak tanır. Kim neyi organize etti? Ne ekledi? bu ne işe yarıyor? En son değişiklik ne zaman oldu? Bu şekilde projelere erişebilir, toplulukla birlikte proje geliştirme sürecine katkıda bulunabilirsiniz.
- Projenizde versiyonlanmasını istemediğiniz dosyaları belirtebilirsiniz. (örn. node_modules, .mp4, .log, .env)
GIT'i biliyorum ama GitHub, GitLab, BitBucket nedir?
En basit şekilde depolama hizmetinin GIT sürüm kontrol sistemini kullandığını söyleyebiliriz.
GitHub
Programcılar için bir kod tabanı ve sosyal medya ortamıdır.
Yazılım geliştiriciler projelerini herkese açık veya özel yapabilir. Ücretli ve ücretsiz katman seçenekleri mevcuttur.
GitLab
GitHub'a benzer bir GIT hizmetidir. Aradaki fark, şirketlerin GitLab'ı kendi sunucularına kurma imkanı olduğu için genellikle kurumsal tarafta kullanılmasıdır. GitLab ile şirketler kendi kurum içi GIT hizmetlerinden yararlanabilirler.
BitBucket
Genellikle kişisel kullanım içindir. GitHub'daki açık kaynak projeleri ve sosyal medya ortamları burada geliştirilmemiştir.
Yukarıda açıkladığımız servislere ek olarak GitKraken ve SourceTree gibi irili ufaklı farklı servisler de bulunmaktadır.