Git’e başlamak için yalnızca bir bölüm okuyabilecek vaktiniz varsa, işte bu aradığınız bölümdür. Bu bölüm, Git’te zamanınızı harcayacağınız şeylerin büyük çoğunluğunu yapmak için ihtiyacınız olan tüm temel komutları kapsar. Bölümün sonunda, bir Git reposunu yapılandırıp başlatabilmeniz, dosyaları izlemeyi başlatıp durdurabilmeniz ve değişikliklerinizi izleme alıp (stage) uzak repoya kaydedebilecek seviyeye geleceksiniz. Ayrıca Git’i belirli dosyaları ve dosya kalıplarını yok sayacak şekilde nasıl ayarlayacağınızı, hataları hızlı ve kolay bir şekilde nasıl geri alacağınızı, projenizin geçmişine nasıl göz atacağınızı, katkılar (commit) arasındaki değişiklikleri nasıl görüntüleyeceğinizi ve uzak repolarla nasıl kod alışverişi yapacağınızı göstereceğiz.
Tipik olarak bir Git reposu oluşturmanın 2 yolu vardır:
-
Şu anda sürüm denetimi (version control) altında olmayan bir yerel dizini (dosya yolu) alabilir ve onu bir Git reposuna dönüştürebilirsiniz. Veya
-
Başka bir yerden, var olan bir Git reposunu kopyalayabilirsiniz.
Her iki durumda da, yerel makinenizde çalışmaya hazır bir Git reposuna sahip olursunuz.
Eğer şu anda sürüm denetimi altında olmayan bir proje diziniz varsa ve onu Git ile takip etmeye başlamak istiyorsanız, önce o projenin dizinine gitmeniz gerekmektedir. Eğer bunu daha önce yapmadıysanız, hangi işletim sisteminde çalıştığınıza bağlı olarak proje dizininiz farklı görünebilir.
Linux için:
$ cd /home/user/my_projectmacOS için:
$ cd /Users/user/my_projectWindows için:
$ cd /c/user/my_projectProje dizinine girdikten sonra şunu yazın:
$ git initBu, tüm gerekli repo dosyalarını içeren .git adında yeni bir alt dizin oluşturur (Yani bir Git repo temeli).
Bu aşamada, projenizde henüz takip edilen bir şey yoktur.
(Yeni oluşturduğunuz .git dizininde hangi dosyaların bulunduğuna dair daha fazla bilgi edinmek için ch10-git-internals.asc bölümüne bakabilirsiniz.)
Eğer halihazırda mevcut olan dosyaları sürüm denetimine almak istiyorsanız, boş bir dizin yerine, bu hazır dosyaları takip etmeye başlamalı ve bir 'initial commit' (ilk katkı) yapmalısınız.
Bunu, takip etmek istediğiniz dosyaları belirten birkaç git add komutu ve ardından bir git commit komutu ile başarabilirsiniz:
$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'Bu komutların ne yaptığını birazdan inceleyeceğiz. Bu aşamada, takip edilen dosyaları içeren bir Git reponuz ve başlangıç 'initial commit’iniz vardır.
Mevcut bir Git deposunun (örneğin katkıda bulunmak istediğiniz bir projenin) bir kopyasını almak istiyorsanız git clone komutunu kullanmalısınız.
Eğer Subversion veya benzeri diğer VCS sistemlerine aşina iseniz, "checkout" yerine "clone" komutu kullanıldığını fark edeceksiniz.
Bu önemli bir ayrımdır! Zira Git, yalnızca çalışan bir kopya almak yerine, sunucunun sahip olduğu neredeyse tüm verilerin tam bir kopyasını alır.
git clone komutunu çalıştırdığınızda, projenin geçmişindeki her dosyanın her sürümü varsayılan olarak indirilir.
Aslında, sunucu diskiniz bozulursa, sunucuyu kopyalandığı zamanki durumuna geri döndürmek için herhangi bir istemcideki kopyaların neredeyse tümünü kullanabilirsiniz (bazı sunucu tarafı kancalarını vb. kaybedebilirsiniz, ancak sürümlendirilmiş tüm verilere sahip olacaksınız.
Daha fazla ayrıntı için: ch04-git-on-the-server.asc).
Bir repoyu git clone <url> komutu ile kopyalayabilirsiniz.
Örneğin, "libgit2" adlı Git’e bağlanabilir kitaplığı kopyalamak istiyorsanız bunu şu şekilde yapabilirsiniz:
$ git clone https://github.com/libgit2/libgit2Bu, içinde bir '.git' dizini olan 'libgit2' adında bir dizin oluşturur, bu repoya ait tüm verileri çeker ve en son sürümün çalışan bir kopyasını alır.
Yeni oluşturulan libgit2 dizinine giderseniz, orada üzerinde çalışılmaya veya kullanılmaya hazır proje dosyalarını görebilirsiniz.
Repoyu 'libgit2' dışında bir isimle adlandırılan bir dizine kopyalamak istiyorsanız, yeni dizin adını ek bir argüman olarak belirtebilirsiniz:
$ git clone https://github.com/libgit2/libgit2 mylibgitBu komut öncekiyle aynı şeyi yapar, ancak hedef dizine mylibgit adını verir.
Git’te kullanabileceğiniz bir dizi farklı aktarım protokolü vardır.
Önceki örnekte https:// protokolü kullanılmıştır ancak git:// veya SSH aktarım protokolünü kullanan user@server:path/to/repo.git ifadelerini de görebilirsiniz.
ch04-git-on-the-server.asc bölümünde sunucunun Git reponuza erişmek için ayarlayabileceği mevcut tüm seçenekleri ve her birinin artılarını ve eksilerini göreceksiniz.