-
1. Başlangıç
- 1.1 Sürüm Denetimi
- 1.2 Git’in Kısa Tarihçesi
- 1.3 Git Nedir?
- 1.4 Komut Satırı
- 1.5 Git’i Yüklemek
- 1.6 Git’i İlk Defa Kurmak
- 1.7 Yardım Almak
- 1.8 Özet
-
2. Git Temelleri
-
3. Git Dalları
- 3.1 Dallar
- 3.2 Kısaca Dallandırma ve Birleştirme Temelleri
- 3.3 Dal Yönetimi
- 3.4 İş Akışı Dallandırması
- 3.5 Uzak Dallar
- 3.6 Yeniden Temelleme (rebase)
- 3.7 Özet
-
4. Bir Sunucuda Git Kurma
- 4.1 İletişim Kuralları (Protocols)
- 4.2 Bir Sunucuda Git Kurma
- 4.3 SSH Ortak Anahtarınızı Oluşturma
- 4.4 Sunucu Kurma
- 4.5 Git Cini (Daemon)
- 4.6 Akıllı HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Üçüncü Taraf Barındırma (Hosting) Seçenekleri
- 4.10 Özet
-
5. Dağıtık Git
- 5.1 Dağıtık İş Akışları
- 5.2 Projenin Gelişiminde Rol Almak
- 5.3 Bir Projeyi Yürütme
- 5.4 Özet
-
6. GitHub
- 6.1 Bir Projeye Katkıda Bulunmak
- 6.2 Proje Bakımı
- 6.3 Kurumsal Yönetim
- 6.4 GitHub’ı otomatikleştirme
- 6.5 Özet
-
7. Git Araçları
- 7.1 Düzeltme Seçimi
- 7.2 Etkileşimli İzlemleme (Staging)
- 7.3 Saklama ve Silme
- 7.4 Çalışmanızı İmzalama
- 7.5 Arama
- 7.6 Geçmişi Yeniden Yazma
- 7.7 Reset Komutunun Gizemleri
- 7.8 İleri Seviye Birleştirme
- 7.9 Rerere
- 7.10 Git’le Hata Ayıklama
- 7.11 Alt Modüller
- 7.12 Demetleme (Bundling)
- 7.13 Git Nesnesini Değiştirme
- 7.14 Kimlik Bilgisi Depolama
- 7.15 Özet
-
8. Git’i Özelleştirmek
- 8.1 Git Yapılandırması
- 8.2 Git Nitelikleri
- 8.3 Git Kancaları (Hooks)
- 8.4 Bir Örnek: Mecburi Git Politikası
- 8.5 Özet
-
9. Git ve Diğer Sistemler
- 9.1 İstemci Olarak Git
- 9.2 Git’e Geçiş
- 9.3 Özet
-
10. Dahili Git Ögeleri
- 10.1 Tesisat ve Döşeme (Plumbing ve Porcelain)
- 10.2 Git Nesneleri
- 10.3 Git Referansları
- 10.4 Packfiles
- 10.5 Refspec
- 10.6 Transfer Protokolleri
- 10.7 Bakım ve Veri Kurtarma
- 10.8 Ortam Değişkenleri
- 10.9 Özet
-
A1. Ek bölüm A: Diğer Ortamlarda Git
- A1.1 Görsel Arayüzler
- A1.2 Visual Studio ile Git
- A1.3 Visual Studio Code ile Git
- A1.4 Eclipse ile Git
- A1.5 Sublime Text ile Git
- A1.6 Bash ile Git
- A1.7 Zsh ile Git
- A1.8 PowerShell ile Git
- A1.9 Özet
-
A2. Ek bölüm B: Git’i Uygulamalarınıza Gömmek
- A2.1 Git Komut Satırı
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Ek bölüm C: Git Komutları
- A3.1 Kurulum ve Yapılandırma Komutları
- A3.2 Proje Oluşturma Komutları
- A3.3 Kısaca Poz (Snapshot) Alma
- A3.4 Dallandırma ve Birleştirme Komutları
- A3.5 Projeleri Paylaşma ve Güncelleme Komutları
- A3.6 İnceleme ve Karşılaştırma Komutları
- A3.7 Hata Ayıklama (Debugging) Komutları
- A3.8 Yamalama (Patching)
- A3.9 E-Posta Komutları
- A3.10 Harici Sistemler
- A3.11 Yönetim
- A3.12 Tesisat (Plumbing) Komutları
1.6 Başlangıç - Git’i İlk Defa Kurmak
Git’i İlk Defa Kurmak
Şimdi Git sisteminizde kurulu olduğuna göre, Git ortamınızı özelleştirmek için birkaç ayar yapmak isteyebilirsiniz. Bu ayarları bir bilgisayarda yalnızca bir kere yapmanız yeterli, güncelleme yapsanız bile kaybolmayacaklardır. Ayrıca istediğinizde gerekli komutları çalıştırarak onları değiştirebilirsiniz.
Git, git config
adında, size Git’in tüm yönleriyle nasıl göründüğünü ve çalıştığını yöneten, yapılandırma değişkenlerini görme ve değiştirme kabiliyetini veren bir araca sahiptir.
Bu değişkenler üç farklı yerde saklanabilir:
-
/etc/gitconfig
dosyası: Sistemdeki tüm kullanıcılara ve onların repolarına uygulanmış olan değerleri içerir. Eğergit config
komutuna--system
opsiyonunu eklerseniz, okuma ve yazma işlemlerini bu dosya üzerinden gerçekleştirir. (Çünkü bu bir sistem yapılandırma dosyasıdır, değişiklik yapmak için yönetici veya süper kullanıcı ayrıcalığına ihtiyacınız vardır.) -
~/.gitconfig
ya da~/.config/git/config
dosyası: Size özel ve sizin kullanıcı hesabınıza ait olan değerler.--global
seçeneğini yazarak Git’in okuma ve yazma işlemlerini özellikle bu dosya üzerinden yapmasını sağlayabilirsiniz, bu durum sisteminizde çalıştığınız tüm repoları etkiler. -
Hangi repoyu kullanıyorsanız o repodaki Git klasöründeki
config`dosyası (tam olarak `.git/config
): O repoya özgüdür. Git’i--local
komutuyla bu dosya üzerinden okuma ve yazma işlemlerini yapmaya zorlayabilirsiniz, hatta bu seçim aslında varsayılan olarak gelir. (Doğal olarak, bu seçeneğin düzgün çalışması için, bir Git reposunun içinde bulunmanız gerekmektedir.)
Herhangi bir seviyedeki değerler, kendinden bir önceki seviyede olan değerleri geçersiz kılar. Dolayısıyla .git/config
değerleri /etc/gitconfig
değerlerini geçersiz kılar.
Windows sistemlerinde Git, $HOME
klasöründeki .gitconfig
dosyasını arar. (çoğu kişide C:\Users\$USER
konumundadır)
MSys köküyle ilintili olmasına rağmen, Git’i bilgisayarınıza kurarken nereye kurulacağını seçtiğiniz etc/gitconfig
dosyasını da arar.
Eğer Windows için Git’in 2.x veya daha iler bir sürümünü kullanıyorsanız, Windows XP’de C:\Documents and Settings\All Users\Application Data\Git\config
sistem-seviyesinde bulunan bir yapılandırma dosyası vardır. Windows Vista ve daha yeni sürümlerdeki konumu ise: C:\ProgramData\Git\config
.
Bu yapılandırma dosyası yalnızca bir yönetici olarak git config -f <dosya>
kullanılarak değiştirilebilir.
Tüm ayarlarınızı ve onların nereden geldiğini görmek için şu komutu kullanabilirsiniz:
$ git config --list --show-origin
Kimliğiniz
Git’i ilk kurduğunuzda yapmanız gereken ilk şey, kullanıcı adınızı ve e-postanızı belirlemek olmalıdır. Bunu yapmak önemlidir çünkü her Git katkısı (commit) bu bilgileri kullanır ve tüm işlediğiniz katkılara değişmez bir şekilde gömülmüştür.
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
--global
seçeneğini kullandığınızda bu işlemi yalnızca bir kere yaptığınızı tekrar etmekte fayda vardır, çünkü Git sisteminizde her zaman global olarak tanımladığınız bilgiyi kullanacaktır.
Eğer bu bilgileri bir projeye özel olarak geçersiz kılmak ve o projeye özgü bilgiler tanımlamak isterseniz, bu komutu projenin içindeyken ve --global
seçeneği "olmadan" çalıştırın.
VCS araçlarının çoğu onları ilk çalıştırdığınızda bu bilgileri tanımlamanız için size yardımcı olacaktır.
Editörünüz
Kimliğinizi artık tanımladığımıza göre, mesaj yazmak için kullanacağınız varsayılan metin editörü ayarınızı yapılandırmanın zamanı geldi. Eğer bu ayarı yapmazsanız, Git, sisteminizin varsayılan editörünü kullanacaktır.
Eğer Emacs gibi farklı bir metin editörü kullanmak isterseniz, şunu yapabilirsiniz:
$ git config --global core.editor emacs
Windows sisteminde farklı bir metin editörü kullanmak isterseniz o editörün çalıştırılabilir dosyasının tam yolunu belirtmelisiniz. Bu durum da editörünüzün nasıl paketlendiğine bağlı olarak değişiklik gösterebilir.
Popüler bir editör olan Notepad++'ı, 64-bit’lik sürümler tüm eklentileri desteklemediği için yüksek ihtimalle 32-bit’lik sürüm kullanacaksınız. Eğer 32-bit’lik bir Windows sistemdeyseniz ya da 64-bit’lik sistemde 64-bit’lik editöre sahipseniz, şöyle bir komut girmelisiniz:
$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Not
|
Vim, Emacs ve Notepad++, Windows, Linux ya da macOS gibi sistemlerde geliştiriciler tarafından sıkça kullanılan popüler editörlerdir.
Eğer başka bir editör ya da 32-bit’lik sürüm kullanıyorsanız, favori editörünüzü nasıl kuracağınız hakkında bilgi almak için şurayı okuyabilirsiniz: |
Uyarı
|
Eğer editörlerinizi bu şekilde kurmazsanız, Git çalıştırmak için uğraştığında kendinizi çok kafa karıştırıcı bir durumda bulabilirsiniz. Windows sistemdineki bir örnek, Git tarafından başlatılan bir düzenleme sırasında erken sona eren bir Git işlemi içerebilir. |
Ayarlarınızı Gözden Geçirmek
Eğer yapılandırma ayarlarınızı gözden geçirmek istiyorsanız, git config --list
komutunu kullanarak Git’in o aşamada bulabildiği tüm ayarları listelemesini sağlayabilirsiniz.
$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
Anahtarlara birden çok kez rastlayabilirsiniz çünkü Git aynı anahtarı farklı dosyalardan okur (örneğin /etc/gitconfig
ve ~/.gitconfig
).
Bu durumda, Git gördüğü her eşsiz anahtar için son değeri kullanır.
Ayrıca Git’in belli bir anahtarın değeri hakkında ne düşündüğünü görmenin yolu da şu şekildedir: git config <key>
:
$ git config user.name
John Doe
Not
|
Git birden fazla dosyadan aynı yapılandırma değişkeni değerlerini okuyabildiği için beklemediğiniz bir değerle karşılaşmanız ve nedenini anlayamamanız olasıdır. Bunun gibi durumlarda Git’i o değerin kökeniyle sorgu yapabilir ve hangi yapılandırma dosyasının o değeri belirlemede son sözü söylediğini öğrenebilirsiniz:
|