Git
Chapters ▾ 2nd Edition

2.1 Git Temelleri - Bir Git Reposu Oluşturma/Kopyalama

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.

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.

Bir Git Reposu Oluşturma/Kopyalama

Tipik olarak bir Git reposu oluşturmanın 2 yolu vardır:

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

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

Varolan Bir Dizinde Repo Başlatma

Eğer şu anda sürüm denetimi altında olmayan bir proje diziniz varsa ve onu Git ile takip etmeye 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_project

macOS için:

$ cd /Users/user/my_project

Windows için:

$ cd /c/user/my_project

Proje dizinine girdikten sonra şunu yazın:

$ git init

Bu, 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 Dahili Git Ögeleri 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 Reposunu Kopyalama (Klonlama)

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: Bir Sunucuda Git Kurma).

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/libgit2

Bu, 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 mylibgit

Bu 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. Bir Sunucuda Git Kurma 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.

scroll-to-top