Git'e Başlangıç
Git'i başarıyla sisteminize kurduysanız, artık biraz heyecan katabiliriz derslere. Şimdi ilk olarak bir klasör oluşturalım. Adına ne dediğimizin bir önemi yok, ben "test-proje" diyeceğim. İsterseniz komut satırında şu şekilde bu klasörü oluşturabilirsiniz;
mkdir test-proje
Daha sonra klasör içerisine girelim. Komut satırında cd
komutu kullanılarak giriş yapılır.
cd test-proje
Artık klasörün içerisindeyiz, bu klasör bizim proje klasörümüz. Öncelikle şu komutu çalıştırarak bu klasörü bir git reposu haline getirelim.
git init
Artık projemiz içerisinde bir dosya oluşturarak test etmeye hazırız. Örneğin ilk dosyamız index.php
dosyasını şu şekilde oluşturalım;
touch index.php
Daha sonra ya editör yardımıyla ya da komut satırındaki düzenleyici araçlar yardımı ile içine bir şeyler yazıp kaydedelim. Ve komut satırında şu komutu çalıştırıp durumunu kontrol edelim.
git status
Bu bize aşağıdaki gibi bir sonuç döndürür. git status
repomuz hakkında bilgi aldığımız komuttur, sıkça kontrol amaçlı kullanırız. Örneğin burada takip edilmeyen bir dosyamızın olduğunu söylüyor çünkü henüz git'e eklemedik normal :) Aslında dönen sonuçta bunu nasıl yapacağımızıda yazıyor, hemen bakalım..
Gördüğünüz üzere git add <dosya>
şeklinde git'e takip etmesini istediğim dosyaları eklemem gerekiyor. Hemen index.php
dosyamızı ekleyelim.
git add index.php
Tekrar git status
deyip baktığımızda daha farklı bir sonuç görüyoruz.
Artık Git dosyamdaki değişiklikleri takip eder hale geldi. Ve gördüğünüz gibi "no commits yet" diyor. Yani değişiklikler henüz "commit" edilmemiş. O zaman ilk commit işlemimizi yapalım.
git commit -m 'index.php dosyası oluşturuldu'
Burada -m
den sonra ilgili commit'e mesaj belirtiyoruz ki ileriye dönük ya da takım arkadaşlarımız baktığında ne değişiklikler yaptığımızı okusunlar. Bu yüzden commit mesajlarımızı her zaman mantık çerçevesinde belirleyelim. Doğrudan yapılan değişikliği ifade etmek her zaman daha doğru olacaktır.
Eğer Git'i yeni kurduysanız, ilk commit işleminiz sırasında sizden kendinizi tanıtmanızı isteyecektir. Bu yüzden bir defaya mahsus olmak üzere aşağıdaki komutları kendinize göre düzenleyip çalıştırmalısınız.
git config --global user.name "Ad Soyad"
git config --global user.email "Eposta Adresi"
Sonuç olarak commit ettiğimizde şöyle bir sonuç almalıyız;
Eğer herşey yolunda ise, tebrik ederim ilk commit işleminizi gerçekleştirdiniz. Commit'ler ile ilgili birkaç şey söylemek istiyorum, dosyanızda herhangi bir değişiklik olduğunda yeniden commit etmeniz gerekir son halini. Ancak commit ederken birden fazla işlemi değilde, yapılan işlemleri tek tek commit etmek daha sağlıklı bir kullanım olacaktır. Ayrıca belirttiğim gibi, commit mesajlarınız sadece o anki işlemle ilgili yapılanlar hakkında olmalı.
Şimdi son commit işleminizden sonra dosyanızda ya da dosyalarınızda bazı düzenlemeler yaptınız ama istediğiniz gibi gitmedi ve kodlar çorba oldu. Bu durumda son commit işleminize geri dönmek isterseniz git checkout
komutunu kullanabilirsiniz. Örneğin index.php
de anlamsız değişikliker yapın ve daha sonra şu komutu çalıştırın;
git checkout -- index.php
Evet, bir sihir gerçekleşti ve son commite geri döndü dosyanız. Eğer birden fazla kez commit işlemi yaptıysanız ve herhangi bir commite geri dönmek isterseniz öncelikle git log
diyerek bir bakın commitlerinize.
Şimdi 2 commit işlemimiz var, şuanki güncel dosyamız ile ilk commit arasındaki farkları görmek için commit id'yi kullanacağız. Şöyleki;
git diff dad999a3a4d316347402ff75ea9ec449a67347b2
Buda bende şöyle bir sonuç döndürdü.
Şimdi ben yine sondaki commite geri döndürmek istiyorum diyelim, o zaman yine commit id'sini kullanarak şöyle bir işlem yapacağım;
git checkout dad999a3a4d316347402ff75ea9ec449a67347b2
Evet, hızlıca bir Git dünyasına giriş yaptık. Bakalım devamında neler göreceğiz :)