GitHub Kullanımı ve Avantajları

Neden Github Kullanmalıyız?

İlk olarak GitHub nedir? Ne için kullanılır bununla başlayalım. GitHub’u hepiniz az da olsa duymuşsunuzdur. GitHub bir versiyon kontrol sistemidir. Nedir bu versiyon kontrol sistemi? Yapmış olduğunuz projeleri her adımda kaydederek aslında yeni bir versiyon oluşturmuş olursunuz. Buna GitHub’ta commit etmek deniyor. Yani sizin her commit işleminiz aslında bir versiyon anlamına geliyor. Bu versiyonları istediğiniz şekilde geri alıp programın tekrar eski haline döndürebiliyorsunuz. Örnek vermek gerekirse PHP veya C# projesi geliştiriyorsunuz burada geliştirdiğiniz platform önemli değil önemli olan kodunuzda bir şey denemek istiyorsunuz. İlk olarak GitHub kullanmayan kullanıcılar projenin bir yedeğini alır ve bunu ayrı bir klasörde v1-v2-sonCalisan vs. şeklinde tutar ve bu hem görüntü kirliliğine hem de ilerleyen zamanlarda nerede ne değişiklik yaptığınızı bilmediğiniz için programın karışmasına sebep olur. GitHub kullanan kullanıcılar ise bunu tek bir satırla hiç bir uğraş gerektirmeden yapabilir.

Örnek bir kodla bunu açıklayacak olursak;

git commit -m “Burada MySQL bağlantısını deneyeceğim.”

Bu şekilde yapmış olduğunuz projeyi commit ederek yeni bir versiyon oluşturmuş oluyorsunuz. Kodlarınızı bitirdiniz, MySQL bağlantısını denediniz, çalışmadı veya ileride projenize MySQL eklemeden önceki kısma geri dönmek istiyorsunuz. Bunu da aynı şekilde kullanacağız, yan bir GUI’li program ile tek tuşla yapabiliyorsunuz. Kısaca özetlemek gerekirse GitHub sizin hem zamandan hem alandan tasarruf etmenizi sağlıyor. Avantajlarına gelirsek…

Avantajları Nelerdir?

Büyük firmalarda bir çok kişi bir projenin üstünde çalışır ve branch denilen dallarda her departman kendi kodunu veya alanını geliştirebilir, daha sonra bunu merge denilen birleştirme komutları ile birleştirip projelerini ortaklaşa tamamlayabilirler. Bana göre en büyük avantajı ne derseniz, yanımda flash bellek taşımadan internet olan her ortamda projemi devam ettirebiliyorum diyebilirim. Örnek vermek gerekirse, iş yerindeki projemi geliştirdikten sonra commit ekleyerek uzak sunucuya push ediyorum daha sonra eve geldiğimde kendi bilgisayarımdan pull edip projemin bütün dosyalarını kendi bilgisayarıma çekiyorum ve her ortamda projemi geliştirmeme olanak sağlıyor. Flash bellek taşımak yerine bunu yaparak sadece 2 saniye içinde son halini bilgisayarıma kaydediyorum. En büyük avantajları dediğim gibi bunlar. Bu avantajlar herkesin ne iş yaptığına ve kullanımına göre değişebilir.

Komutlar?

İlk olarak GitHub’ın sitesinden git cmdyi indirebiliriz. Bana kalırsa ilk olarak cmd ekranından bu yapıları öğrenin, her işe temelden başlamak daha iyi bir yoldur. Fakat görsel olarak bunları yapmak isterseniz de SourceTree, GitLab veya ben kodlama için Sublime Text kullandığım için Sublime Merge kullanıyorum. Bunlardan birini kullanabilirsiniz.

git init

Projenin bulunduğu konuma gidip bunu yazmanız yeterli, siz bunu yazdıktan sonra .git adında gizli bir klasör oluşacaktır.

git add.

Bu kod sizin klasörlerinizin tamamını repoya eklemek için kullanılır. Nokta koymamızın nedeni hepsini eklemesi (.) yerine dosya ismi girersek sadece onu eklemiş oluruz.

git commit -m “İlk Kayıt”

İlk Commit işlemimizi yaptık.

git status

Eğer dosyada bir değişiklik yapmadıysanız

On branch master
nothing to commit, working directory clean yazısını göreceksiniz. Bu yazı hiç bir değişiklik yok demek.
Eğer bir değişiklik yaparsanız git status dediğinizde değişiklik yapılan dosya gösterilecek ve sizden commit etmeniz istenecektir.

Bunlar localde çalışmak için yeterli komutlardır. Uzak repo ile çalışmak isterseniz yapı aynı, sadece commit ettikten sonra push ve pull işlemi var. Biraz temel ingilizceniz var ise zaten push itme pull çekme olduğunu anlıyorsunuz ve ona göre dosyalarını repoya itip, repodan çekebiliyorsunuz.