Git Nedir? Nasıl Kullanılır?
Merhabalar arkadaşlar. Bu yazıda sizlere Git’in ne olduğundan ve nasıl kullanıldığından bahsetmeye çalışacağım.
Git Nedir? Neden Kullanılmalı?
Günümüz yazılım dünyasında yazılıp satılan üzerinden para kazanılan projeler tek bir kişi tarafından geliştirilmiyor. Bir takım halinde geliştirilen bu projelerin senkronize bir şekilde gitmesi gerekiyor. İşte bu noktada Git bir versiyon kontrol sistemi olarak karşımıza çıkıyor. Hem adım adım geliştirilen projelerde geliştirilen her bir adımın bir mesajla yedeklenmesi sağlanıyor hem de projenin tutulduğu yerde bir senkronizasyon yaparak projeyi geliştirilen geliştiricilerin birbirlerinden haberdar bir şekilde gitmelerini sağlıyor.
Yani Git hem projenin güvenli bir şekilde yedeklenmesi hem senkronize geliştirilmesi hem de ne zaman ne geliştirildi bilgilerine sahip olunması için kullanılması elzem bir araçtır.
Git Nasıl Kurulur?
- Windows kullanan arkadaşlar şuradan gerekli dosyayı indirip kurarlarsa git komutlarını çalıştırabilecekleri shell ekranı kurulacaktır.
- Debian tabanlı GNU/Linux dağıtımı kullanan arkadaşlar apt-get install git-core komutunu terminal üzerinden çalıştırdıklarında Git sistemlerine kurulacaktır.
- macOS kullanan arkadaşlar da şuradan macOS için Git kurulum dosyasını indirip kurduklarında Git’i sistemlerine kurmuş olacaklardır.
macOS kullanan arkadaşlar indirilen dosyadan kurulum yaptıktan sonra git –version komutunu işletip şöyle bir çıktı alıyorlarsa işlem tamamdır
Git Nasıl Kullanılır
Git kullanmak için projenizi tutabileceğiniz bir uzak sunucu depolamasına ihtiyacınız vardır. Bu public de olabilir private da. Muhakkak ismini duymuşsunuzdur ki Github adında oldukça meşhur bir versiyon kontrol sistemi sitesi var. Projelerinizin kaynak kodları açık olacak şekilde depolama yapmak isterseniz Github size ücretsiz imkan sunuyor. Private yani kodları kapalı projeleriniz olacaksa da paralı sistemi var. Github tabanda Git sistemini kullanarak çalışıyor. Biz bu yazı için Github’ın ücretsiz tarafını kullanarak Git’in kullanımını örnekleyeceğiz. Git’i kullanmak için masaüstü uygulamaları olsa da biz temel kullanımına ve terminal üzerinden kullanımına değineceğiz.
Adım 1: Git’i Konfigüre Edelim
İlk olarak sistemde kurulu Git’e kendimizi tanıtmamız lazım. Bunun için bir username ve bir de e-mail adresi tanımlayacağız.
Username tanımlamak için:
Yukarıdaki komutun git config –global Git üzerinde global bir konfigürasyon ayarlaması yapılacağını bildirir. user.name ise sizin o uzak sunucudaki kullanıcı adınızdır. Benim Github üzerindeki kullanıcı adım ilkgunel olduğu tırnaklar arasında kullanıcı adımı parametre olarak geçiriyorum.
E-mail adresi tanımlamak için:
Burada da uzak sunucuya kayıtlı olduğunuz e-posta adresini ayarlara geçiriyoruz.
Adım 2: Uzak Sunucuya Dosya Gönderilmesi
- Bilgisayarınızın herhangi bir yerinde bir klasör oluşturun. Ben masa üstünde GitTutorial adında bir klasör oluşturup içine bu yazının Markdown halini ekliyorum. Siz de istediğiniz bir şeyi ekleyebilirsiniz.
- Ardından terminalden bu klasör içine girin ve git init komutunu koşturun. Bu komut bu klasör üzerinde Git’in hakimiyet kurabilmesine imkan tanıyacak.
- Ardından git add . komutunu koşturun. Bu komut en sondaki . vasıtası ile klasör içindeki tüm dosyaları Stage aındaki bir bölgeye alacak. Stage demek henüz mesajı tanımlanmamış ancak uzak sunucuya gönderilmek için seçilmiş dosyalar demektir aslında.
- Ardından git commit -m “İlk Commit” komutunu koşturalım. Bu komut az önce Stage kısmına alınmış dosyaların tümü için bir mesaj belirleyecek ve Head bölgesine taşıyacak. Tırnaklar arasına duruma göre istediğinizi yazabilirsiniz.
Yukarıdaki işlemler localimiz üzerindeki işlemlerdi. Şimdi bu reponun uzak sunucuya atılmasına sıra geldi.
Öncelikle https://github.com/new üzerinden yeni bir repo oluşturalım. Repo adına localdeki klasörümüz ile aynı ismi verelim. Ben şöyle oluşturuyorum.
Create butonuna tıkladığımızda Github bizim için HTTPS ve SSH üretecektir. Biz burada HTTPS’i kullanacağız. Projenin ismi GitTutorial olduğu için Github bana https://github.com/ilkgunel/GitTutorial.git şeklinde bir HTTPS üretti.
- Şimdi terminal üzerinde git remote add origin https://github.com/ilkgunel/GitTutorial.git komutunu koşturalım. Bu komut Github’ın ürettiği HTTPS ile bizim local projemizi ilişkilendirecek ve artık uzak depolama sunucu adresimiz burası olacak.
- Şimdi de git push -u origin master komutunu koşturalım. Bu komut da az önce ilişkilendirdiğimiz adrese bizim localdeki projemizi yükleyecek. Komutu koşturduğunuzda Username for ‘https://github.com’ şeklinde bir girdi beklentisi oluşacak. Github kullanıcı adınızı girip enterlayın. Akabinde Github reponuzun parolasını soracak. Parolanızı da girip enterlayın.
Sorunsuz bir şekilde uzak sunucuya atılması durumunda şöyle bir sonuç alacağız.
https://github.com/ilkgunel/GitTutorial adresine gidip baktığımda local klasör içindeki dosyanın gerçekten de uzak sunucuya atılmış olduğunu görüyorum.
Yukarıdaki işlemler varsayılan olarak master isminde bir branch oluşturup dosyamızı oraya attı. Fakat iş hayatında farklı dallar üzerinde çalışmanız, kod geliştirmeniz gerekebilir. Bunu ayrı modüller geliştirmeye benzetebiliriz. Bu durumda öncelikle farklı bir dal oluşturmalı, işinizi yapmalı akabinde bu oluşturduğunuz dalı master dalı ile merge etmelisiniz. Şimdi bunların nasıl yapıldığına bakalım.
- GitTutorial klasörünün içinde yeni bir klasör oluşturalım. Ben NewBranchFolder isminde bir klasör oluşturuyorum ve içine herhangi bir şey koyuyorum.
- Şimdi yeni bir branch oluşturmak için git checkout -b newBranch komutu ile yeni bir branch oluşturalım. Bu komut aynı zamanda master branch’ından newBranch branch’ına da geçirir.
- Akabinde git add NewBranchFolder diyerek bu yeni branch’a göndeirlmek üzere yeni oluşturduğumuz klasörü Stage kısmına ekleyelim.
- Şimdi git commit -m “Yeni Branch Eklendi” diyerek Head kısmına alalım.
- Son olarak da bu branch’ı uzak repoya yollayalım. git push origin newBranch komutunu koşturarak uzak sunucuda NewBranchFolder’ını barındıran yeni bir branch oluşturmuş oluruz.
https://github.com/ilkgunel/GitTutorial adresine tekrar gidip baktığımda branch’ın eklenmiş olduğunu görüyorum.
Diyelim ki bu dal üzerinde çalıştınız, işinizi bitirdiniz, en son aşamada master ile bu branch’ı birleştirmeniz gerekir.
- Bunun için öncelikle git checkout master komutu ile terminalden master branch’ına geçelim.
- Akabinde git merge newBranch diyerek master ve newBranch branch’larını merge edelim.
- git push origin master komutu ile de uzak sunucuya yollayalım.
https://github.com/ilkgunel/GitTutorial adresine tekrar baktığımda daha önce master’da olmayan NewBranchFolder’ın master’a eklenmiş olduğunu yani master ile newBranch’ın merge edilmiş olduğunu gördüm.
Bu yazıda anlatacaklarım da bu kadar arkadaşlar. Başka bir yazıda görüşene kadar sağlıcakla kalın.
Selam ve Sevgilerimle