-
1. Başlangıç
- 1.1 Versiyon Kontrol
- 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 Basics
- 2.1 Getting a Git Repository
- 2.2 Recording Changes to the Repository
- 2.3 Viewing the Commit History
- 2.4 Undoing Things
- 2.5 Working with Remotes
- 2.6 Tagging
- 2.7 Git Aliases
- 2.8 Summary
-
3. Git Branching
- 3.1 Branches in a Nutshell
- 3.2 Basic Branching and Merging
- 3.3 Branch Management
- 3.4 Branching Workflows
- 3.5 Remote Branches
- 3.6 Rebasing
- 3.7 Summary
-
4. Git on the Server
- 4.1 The Protocols
- 4.2 Getting Git on a Server
- 4.3 Generating Your SSH Public Key
- 4.4 Setting Up the Server
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Third Party Hosted Options
- 4.10 Summary
-
5. Distributed Git
- 5.1 Distributed Workflows
- 5.2 Contributing to a Project
- 5.3 Maintaining a Project
- 5.4 Summary
-
6. GitHub
-
7. Git Tools
- 7.1 Revision Selection
- 7.2 Interactive Staging
- 7.3 Stashing and Cleaning
- 7.4 Signing Your Work
- 7.5 Searching
- 7.6 Rewriting History
- 7.7 Reset Demystified
- 7.8 Advanced Merging
- 7.9 Rerere
- 7.10 Debugging with Git
- 7.11 Submodules
- 7.12 Bundling
- 7.13 Replace
- 7.14 Credential Storage
- 7.15 Summary
-
8. Customizing Git
- 8.1 Git Configuration
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Summary
-
9. Git and Other Systems
- 9.1 Git as a Client
- 9.2 Migrating to Git
- 9.3 Summary
-
10. Git Internals
- 10.1 Plumbing and Porcelain
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Packfiles
- 10.5 The Refspec
- 10.6 Transfer Protocols
- 10.7 Maintenance and Data Recovery
- 10.8 Environment Variables
- 10.9 Summary
-
A1. Ek bölüm A: Git in Other Environments
- A1.1 Graphical Interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Visual Studio Code
- A1.4 Git in Eclipse
- A1.5 Git in Sublime Text
- A1.6 Git in Bash
- A1.7 Git in Zsh
- A1.8 Git in PowerShell
- A1.9 Summary
-
A2. Ek bölüm B: Embedding Git in your Applications
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Ek bölüm C: Git Commands
- A3.1 Setup and Config
- A3.2 Getting and Creating Projects
- A3.3 Basic Snapshotting
- A3.4 Branching and Merging
- A3.5 Sharing and Updating Projects
- A3.6 Inspection and Comparison
- A3.7 Debugging
- A3.8 Patching
- A3.9 Email
- A3.10 External Systems
- A3.11 Administration
- A3.12 Plumbing Commands
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ı kontrol eden 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 repository’lerine 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ı: Spesifik olarak size, sizin kullanıcı hesabınıza ait olan değerler.--global
opsiyonunu yazarak Git’in okuma ve yazma işlemlerini spesifik olarak bu dosya üzerinden yapmasını sağlayabilirsiniz, bu durum sisteminizde çalıştığınız tüm reposity’leri etkiler. -
Hangi repository’i kullanıyorsanız o repository’deki Git klasöründeki
config`dosyası (tam olarak `.git/config
): O spesifik repository’e özgüdür. Git’i--local
komutuyla bu dosya üzerinden okuma ve yazma işlemlerini yapmaya zorlayabilirsiniz, hatta bu opsiyon aslında varsayılan olarak gelir. (Unsurprisingly, you need to be located somewhere in a Git repository for this option to work properly.)
Her seviyedeki değerler, kendilerinden 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)
Git’i bilgisayarınıza kurarken nereye kurulacağını seçtiğiniz etc/gitconfig
dosyasını, MSys köküne özgü olmasına rağmen, hâlâ arar.
Eğer Windows için Git’in 2.x veya daha versiyonunu 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 versiyonlardaki konumu ise: C:\ProgramData\Git\config
.
This config file can only be changed by git config -f <file>
as an admin.
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 email’inizi belirlemek olmalıdır. Bunu yapmak önemlidir çünkü her Git commit’i bu bilgileri kullanır ve tüm yarattığınız commitlere 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
opsiyonunu kullandığınızda bu işlemi yalnızca bir kere yaptığınızı tekrar etmekte fayda var çünkü Git sisteminizde her zaman global olarak tanımladığınız bilgiyi kullanacaktır.
Eğer bu bilgileri spesifik bir proje için geçersiz kılmak ve o projeye özgü bilgiler tanımlamak isterseniz, projenin içindeyken komutu --global
opsiyonu olmadan çalıştırın.
GKA 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
Şimdi kimliğinizi tanımladığımıza göre, mesaj yazmak için kullanacağınız varsayılan metin editörü ayarınızı yapmanı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++'i, 64-bit’lik versiyonlar tüm plug-in’leri desteklemediği için yüksek ihtimalle 32-bit’lik versiyonla 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 versiyon 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. An example on a Windows system may include a prematurely terminated Git operation during a Git initiated edit. |
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 spesifik 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:
|