Skip to content

Git Komutları açıklaması

Gerçekten kullandığınız Git komutları, işe göre gruplanmış: depo kurma, çalışmayı anlık görüntüye alma, dallanma ve birleştirme, geçmişi okuma, uzak depoyla paylaşma, hataları geri alma, çalışmayı geçici saklama ve dosyalarla alt modülleri yönetme. Her satır, komutu gerçekçi bir çağrıyla eşleştirir.

Git'in yüzlerce komutu vardır ama günlük çalışma için yalnızca birkaçı gerekir. Zihin modeli şudur: çalışma ağacı dosyalarınızdır, indeks (sahne alanı) bir sonraki commit'tir ve HEAD geçerli commit'tir. Sahneye koyar, commit eder, paylaşırsınız. Status'u sık okuyun. Aşağıdaki her şey, listelenen komutun zaten var olduğunu varsayar.

Referans tablosu · 55 kayıt
55 of 55 rows
Kurulum ve yapılandırma
Adınızı, e-postanızı veya düzenleyicinizi tüm depolar için bir kez ayarlayın.git config --global user.name "Ada"
Sık kullandığınız bir komut için kısa yol adı tanımlayın.git config --global alias.co checkout
Geçerli klasörde yeni bir depo oluşturun.git init
Uzak bir depoyu makinenize kopyalayın.git clone git@github.com:org/repo.git
Tek bir dalın yalnızca en yeni commit'lerini kopyalayın.git clone --depth 1 --single-branch git@github.com:org/repo.git
Anlık görüntü temelleri
Nelerin sahnelendiğini, değiştirildiğini ve izlenmediğini gösterir.git status -sb
Değişiklikleri bir sonraki commit'e girecek şekilde sahneye koyar.git add src/app.ts
Değişiklikleri parça parça inceler ve yalnızca kabul ettiklerinizi sahneye koyar.git add -p src/app.ts
Yeni dosya eklemeden izlenen tüm dosyalardaki değişiklikleri sahneye koyar.git add -u
Sahnelenen değişiklikleri yeni bir commit olarak kaydeder.git commit -m "fix: null check"
Son commit'i düzeltilmiş bir commit ile değiştirir.git commit --amend -m "fix: handle empty input"
Sahnelenmemiş değişiklikleri, --staged ile sahnelenenleri gösterir.git diff --staged
Son commit'ten beri sahnelenmiş olsun ya da olmasın tüm değişiklikleri gösterir.git diff HEAD
Dal oluşturma ve birleştirme
Dalları listeler, oluşturur veya siler.git branch feature-x
Birleştirilmiş bir dalı siler (-D zorlar, -a tüm dalları listeler).git branch -d feature-x
Dallar arasında geçiş yapar (checkout'un modern karşılığı).git switch feature-x
Yeni bir dal oluşturur ve tek adımda ona geçer.git switch -c feature-x
Dal değiştirir veya dosyaları geri yükler (daha eski ve kapsamlı komut).git checkout feature-x
Başka bir dalın değişikliklerini geçerli dala getirir.git merge feature-x
Çakışmalı bir birleştirmeyi iptal eder ve dalı önceki durumuna döndürür.git merge --abort
Geçerli dalın commit'lerini başka bir dalın üzerine yeniden oynatır.git rebase main
Commit'leri yeniden oynatırken birleştirir, yeniden sıralar veya düzenler.git rebase -i main
Başka bir daldaki tek bir commit'i bu dala kopyalar.git cherry-pick a1b2c3d
Bir commit'i sürüm gibi okunabilir bir etiketle işaretler.git tag -a v1.2.0
Aynı anda başka bir dalı ayrı bir klasörde checkout eder.git worktree add ../repo-feature feature-x
Geçmişi inceleme
Commit geçmişinde gezinir.git log --oneline --graph --decorate
Yalnızca geçerli dal değil, tüm dallardaki geçmişte gezinir.git log --oneline --graph --all
Tek bir commit'in tam diff'ini ve mesajını gösterir.git show HEAD
Bir dosyanın her satırını en son kimin değiştirdiğini gösterir.git blame src/app.ts
HEAD'in işaret ettiği, atılanlar dahil tüm commit'leri gösterir.git reflog
Bozan commit'i bulmak için geçmişi yarılayarak arar.git bisect start
Commit'leri yazara göre özetler.git shortlog -sn
Geçerli commit'i en yakın etiketten sayarak adlandırır.git describe --tags
Uzak depo iş birliği
Uzak depoları listeler veya ekler.git remote add origin <url>
Uzakları fetch ve push URL'leriyle listeler.git remote -v
Dallarınızı değiştirmeden uzak değişiklikleri indirir.git fetch origin
Uzak değişiklikleri indirir ve silinen uzak dalların referanslarını bırakır.git fetch --prune
Geçerli dalın uzak değişikliklerini indirir ve birleştirir.git pull --rebase
Yerel commit'leri uzak depoya gönderir.git push -u origin feature-x
Uzak dalın üzerine yazar, ama önce kimse push yapmadıysa.git push --force-with-lease origin feature-x
Değişiklikleri geri alma
Çalışma ağacı değişikliklerini atar veya sahneden çıkarır.git restore src/app.ts
Bir dosyayı sahneden çıkarır ve düzenlemelerini çalışma ağacında tutar.git restore --staged src/app.ts
Geçerli dal ucunu ve isteğe bağlı olarak indeksi taşır.git reset --hard HEAD~1
Önceki bir commit'i geri alan yeni bir commit ekler (paylaşımı güvenli).git revert HEAD
İzlenmeyen dosya ve klasörleri siler.git clean -fd
Geçici saklama
Commit edilmemiş çalışmayı kaydeder ve çalışma ağacını sıfırlar.git stash -u
Kaydettiğiniz tüm stash'leri gösterir.git stash list
Bir stash'i yeniden uygular ve depoda tutar.git stash apply stash@{1}
Artık ihtiyacınız olmayan bir stash'i siler.git stash drop stash@{1}
En son stash'i yeniden uygular ve listeden düşürür.git stash pop
Dosyalar ve alt modüller
Bir dosyayı taşır veya yeniden adlandırır ve değişikliği sahneye koyar.git mv old.ts src/new.ts
Bir dosyayı siler ve silme işlemini sahneye koyar.git rm src/old.ts
Başka bir depoyu bunun içinde bir klasör olarak izler.git submodule add git@github.com:org/lib.git lib
Büyük bir depodan yalnızca adını verdiğiniz klasörleri çıkarır.git sparse-checkout set src docs
Bir commit'in ağacını tar veya zip dosyası olarak dışa aktarır.git archive -o repo.zip HEAD