Giriş yap

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..

macbook -- -bash --- 64x17
 
MacBooks-MacBook-Pro-2:test-proje tayfunerbilen$ git status On branch master No commits yet Untracked files: (use "git add ..." to include in what will be committed) index.php nothing added to commit but untracked files present (use "git add" to track)

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.

macbook -- -bash --- 64x17
 
MacBooks-MacBook-Pro-2:test-proje tayfunerbilen$ git status On branch master No commits yet Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: index.php

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;

macbook -- -bash --- 64x17
 
MacBooks-MacBook-Pro-2:test-proje tayfunerbilen$ git commit -m 'index.php dosyası oluşturuldu' [master (root-commit) dad999a] index.php dosyası oluşturuldu 1 file changed, 3 insertions(+) create mode 100644 index.php

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.

macbook -- -bash --- 64x17
 
MacBooks-MacBook-Pro-2:test-proje tayfunerbilen$ git log commit 72554b030c4be5a306e84002c37e67754d68ac4c (HEAD -> master) Author: tayfunerbilen Date: Tue May 28 13:07:30 2019 +0300 index.php düzenlendi commit dad999a3a4d316347402ff75ea9ec449a67347b2 Author: tayfunerbilen Date: Tue May 28 12:58:12 2019 +0300 index.php dosyası oluşturuldu

Ş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ü.

macbook -- -bash --- 64x17
 
MacBooks-MacBook-Pro-2:test-proje tayfunerbilen$ git diff dad999a3a4d316347402ff75ea9ec449a67347b2 diff --git a/index.php b/index.php index 8cdd3ec..908fea0 100644 --- a/index.php +++ b/index.php @@ -1,3 +1,5 @@ <?php echo "index dosyası"; + +echo "test";

Ş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 :)

Tayfun Erbilen
139 gün önce yazdı. Son güncelleme: 43 gün önce
Önemli Başlıklar