-
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ı
A1.8 Ek bölüm A: Diğer Ortamlarda Git - PowerShell ile Git
PowerShell ile Git
Windows’un eski komut satırı terminali (cmd.exe
) özelleştirilmiş bir Git deneyimi için pek de uygun değil, ancak PowerShell kullanıyorsanız şanslısınız demektir.
Linux veya macOS üzerinde PowerShell Core çalıştırdığınızda da bu durum geçerlidir.
Posh-git (https://github.com/dahlbyk/posh-git) adlı bir paket, güçlü sekme tamamlama olanakları sağlar ve size repo durumunuzu takip etmenize yardımcı olmak için gelişmiş bir ipucu sunar.
Görünümü şuna benzer:
Kurulum
Gereksinimler (Windows için)
Makinenizde PowerShell komut dosyalarını çalıştırabilmek için, yerel ExecutionPolicy ayarını RemoteSigned olarak belirlemeniz gerekecektir (Temelde Tanımsız ve Kısıtlanmış harici her seçenek). Eğer AllSigned seçeneğini tercih ederseniz, kendi yazdığınız yerel komut dosyalarının da çalıştırılabilmesi için dijital olarak imzalanmış olmaları gerekir. RemoteSigned seçeneğiyle, "ZoneIdentifier" özelliği "Internet" olarak ayarlanmış olan (webden indirilmiş) komut dosyalarının imzalanmış olması gerekir, diğerleri için gerek yoktur.
Eğer bir yöneticiyseniz ve bu ayarı makinedeki tüm kullanıcılar için belirlemek istiyorsanız, "-Scope LocalMachine" kullanın. Eğer yönetici yetkileri olmayan sıradan bir kullanıcıysanız, "-Scope CurrentUser" kullanarak sadece kendiniz için ayarlayabilirsiniz.
Daha fazla bilgi için: - PowerShell Kapsamları: [PowerShell Scopes](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_scopes) - PowerShell ExecutionPolicy: [PowerShell ExecutionPolicy](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy)
> Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned -Force
PowerShell Galerisi
Eğer en az PowerShell 5 veya Paket Yönetimi kurulu PowerShell 4’e sahipseniz, paket yöneticisini kullanarak posh-git’i kurabilirsiniz.
PowerShell Galerisi hakkında daha fazla bilgi için: [PowerShell Gallery Overview](https://docs.microsoft.com/en-us/powershell/gallery/overview)
> Install-Module posh-git -Scope CurrentUser -Force
> Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force # Newer beta version with PowerShell Core support
Eğer posh-git’i tüm kullanıcılar için kurmak istiyorsanız, "-Scope AllUsers" kullanın ve komutu "yönetici ayrıcalıklarına sahip" bir PowerShell konsolundan çalıştırın.
İkinci komut Module 'PowerShellGet' was not installed by using Install-Module
gibi bir hata alırsa, önce başka bir komut çalıştırmanız gerekecektir:
> Install-Module PowerShellGet -Force -SkipPublisherCheck
Sonra dönüp tekrar deneyebilirsiniz. Bunun sebebi, Windows PowerShell ile birlikte gelen modüllerin farklı bir yayımlama sertifikası ile imzalanmasıdır.
PowerShell İstemini Güncelleme
Git bilgisini isteminize dahil etmek için, posh-git modülü içe aktarılmalıdır.
PowerShell her başladığında posh-git’in içe aktarılması için, Add-PoshGitToProfile
komutunu çalıştırın: bu komut içe aktarma ifadesini $profile
betiğinize ekler.
Bu betik, her yeni PowerShell konsolu açıldığında yürütülür.
Birden fazla $profile betiği bulunduğunu unutmayın.
Örneğin: biri konsol için, bir diğeri ise ISE içindir.
> Import-Module posh-git
> Add-PoshGitToProfile -AllHosts
Kaynaktan
(https://github.com/dahlbyk/posh-git) adresinden bir posh-git sürümü indirin ve sıkıştırırmış dosyayı açın. Ardından posh-git.psd1 dosyasının tam yolunu kullanarak modülü içe aktarın:
> Import-Module <path-to-uncompress-folder>\src\posh-git.psd1
> Add-PoshGitToProfile -AllHosts
Bu, profile.ps1
dosyanıza uygun satırı ekleyecektir ve PowerShell’i bir sonraki açışınızda posh-git etkin olacaktır.
İstemde görüntülenen Git durum özeti bilgilerinin açıklaması için bkz.: https://github.com/dahlbyk/posh-git/blob/master/README.md#git-status-summary-information
Posh-git isteminizi nasıl özelleştireceğiniz hakkında daha fazla ayrıntı için bkz.: https://github.com/dahlbyk/posh-git/blob/master/README.md#customization-variables