Yeni Başlayanlar İçin Git Kullanımı
Git en basit anlatımıyla bir versiyon kontrol sistemidir. Git ile yazılım geliştiricilerin işi kolaylaşmış olur, bilgiler kaybolmaz ve her bir commit sayesinde projenizin eski sürümlerine dönebilirsiniz. Böylece projenizde herhangi bir sorun oluştuğunda bir önceki haline dönebilir ve hatalarınızı düzeltebilirsiniz. Burada belirtmek gerekir ki ne kadar çok commit yaparsanız geriye dönebileceğiniz o kadar noktanız olur ve projenizin yapısını yönetmesi o kadar kolay olur. Peki… Versiyon kontrol sistemi ne demek? Versiyon kontrol sistemi, oluşturulan bir dosyanın oluşturulduğu zamandan başlayarak tüm durumlarının takip edilebildiği yapı olarak geçer. Git bu sistemlerden bir tanesidir.
Şimdi gelelim Git’i nasıl kullanacağımıza… Ama önce birkaç kelimeyi gözden geçirelim:
Clone: Clone aslında dosyaların kopyasıdır. Uzaktaki repodan dosyaları aldığınız zaman, bu dosyaları klonlamış oluyorsunuz.
Repository: Proje dosyalarını ya lokal ya da uzakta olarak depolar. Kısaca “repo” olarak kullanılır.
Branch: En son yaptığınız commit’in göstergesidir. Çoklu branch kullanarak ana branch’deki dosyalarınızı etkilemeden, paralel geliştirmelere yani aynı anda birçok farklı geliştiricinin proje üzerinde çalışmasını sağlayabilirsiniz. Eğer Git üzerinde hiçbir işlem yapmazsanız, çalışmalarınız ana branch üzerinden devam eder.
Commit: Bir dosyada yapılan değişikliğin anlık kaydedilmesine denir.
Chekout: Bir branch üzerinden başka bir branch üzerine geçilmesini sağlar.
Fork: Reponun bir koyasını alıp üzerinde değişikler yaptıktan sonra yine aynı repoya gönderilmesidir. Böylece projenize dışarıdan katkı sağlanmış olur.
Pull Request: Pull Request, Fork yapıldıktan sonra proje sahibinin değerlendirmesine sunulmasıdır.(Proje sahibi kendi dosyalarıyla sizinkini karşılaştırır) Eğer Pull Request(PR olarak kısaltılabilir) kabul edilirse, değişiklikleriniz repo üzerine eklenir.
Merge: Branch’lerde yaptıklarınızla ana branch’i birleştirir.
Git Kullanımı ve Komutları
Git’i kullanmak için sistemi indirmeniz yeterlidir, “https://git-scm.com/downloads” sayfasından donanımınıza uygun olanı indirebilirsiniz.
Git Komutları:
git init: Yeni ya da var olan bir projeniz için bir lokal repository(proje dosyalarını sunucuda saklar, bir depo olarak düşünebilirsiniz) oluşturur.
C:\Users\MyComputer>git init <projenizin konumu>
git clone:Uzaktaki bir repositoryden lokal bir kopya oluşturur. Adresini verdiğiniz reponun bir kopyası bilgisayarınıza iner.
C:\Users\MyComputer>git clone <url>
git add: Yaptığınız değişiklikleri bir sonraki commit işlemine ekler. Burada isterseniz eklemek istediğiniz dosyanın konumunu veya “ * “ işaretiyle bütün dosyaları ekleyebilirsiniz.
C:\Users\MyComputer>git add *
C:\Users\MyComputer>git add <dosya konumu>
git status: En son commit işleminden sonra yapılmış olan değişiklikleri kontrol eder.
C:\Users\MyComputer>git status
git pull origin master: Projede bir değişiklik yapılmışsa bu komutla yapılan değişiklikleri bilgisayarınıza alabilirsiniz. Genelde pull komutu, siz yaptığınız bir değişikliği push yapmadan önce kullanılması tavsiye edilir.
C:\Users\MyComputer>git pull origin master
git push origin master: Projede yaptığınız bir değişikliği commit ettikten sonra repoya kaydeder.
C:\Users\MyComputer>git push origin master
git commit -m”mesaj ”: Projenizde bir değişiklik yaptığınızda, yaptığınız değişikliği kaydeder. Bu komut sık kullanılır ve projelerinizde bir checkpoint olarak iş görür.
C:\Users\MyComputer>git commit -m "mesajınız(düzeltme, first commit, vb.)"
git branch: Projenizdeki branchleri yönetmenizi sağlar.
C:\Users\MyComputer>git branch
git remote: Uzaktaki bir repoyu lokal bir repoya bağlar.
C:\Users\MyComputer>git remote
git checkout: Farklı bir branch’e geçip,çalışabilmenizi sağlar.
C:\Users\MyComputer>git checkout <branch-adı>
git merge: Branchleri ana(master) branch ile birleştirir. Eğer ana branch dışında bir branchte iseniz once git branch komutuyla ana branche geçmeli, sonra ana branchinizi git fetch komutu ile güncellemeli ve en sonunda birleştirmelisiniz.
C:\Users\MyComputer>git merge <branch-adı>
Kullanılan Kaynaklar:
http://guides.beanstalkapp.com/version-control/getting-started-with-git.html
http://guides.beanstalkapp.com/version-control/common-git-commands.html
https://www.freecodecamp.org/news/10-important-git-commands-that-every-developer-should-know/
https://dzone.com/articles/top-20-git-commands-with-examples