Git Komutları Kopya Kağıdı

Sonraki

Git’in yaklaşık 150 alt komutu vardır ve bunların birkaçı tehlikeli ölçüde birbirine benzer, reset ile restore, checkout ile switch, rm ile restore --staged. Bu kopya kağıdı, gerçekten yazdığınız komutları duruma göre gruplar: günlük iş akışı, dallar, hataları geri alma ve stash. Grubu seçin ve bloğu kopyalayın.

Kopya kağıdı nasıl kullanılır

  1. 1

    Bir konu seçin

    Günlük, dallar, geri alma veya stash, her biri farklı bir düşünme biçimine karşılık gelir.

  2. 2

    Bloğu göz gezdirin

    Her satır eksiksiz, çalışan bir komuttur; açıkça belirtilmedikçe açılı parantez içinde yer tutucu bulunmaz.

  3. 3

    İhtiyacınız olanı kopyalayın

    Terminalinize yapıştırın, dal adını veya commit SHA'sını uyarlayın ve çalıştırın.

Komutlar neden deneyimli kullanıcıların bile kafasını karıştırır

Git’in porcelain katmanı zamanla, komut komut eklenerek büyüdü. checkout hem “dal değiştir” hem de “dosya geri yükle” işlevleriyle aşırı yüklendi; reset ise “yapılan işi at” ile “dal işaretçisini taşı” arasında bir yerde durur. Git 2.23’ten itibaren daha net fiiller var:

Eski Yeni (daha net)
git checkout branch git switch branch
git checkout -b new git switch -c new
git checkout -- file git restore file
git checkout --staged file git restore --staged file

Güvenli geri alma basamakları

  1. Tek bir dosyayı geri yükleme: git restore path/to/file (staged edilmemiş) veya git restore --staged path/to/file (staged edilmiş ama henüz commit edilmemiş).
  2. Son commit’i geri al, değişiklikleri koru: git reset --soft HEAD~1.
  3. Son commit’i geri al, değişiklikleri at: git reset --hard HEAD~1 (yıkıcıdır; commit edilmemiş işiniz olmadığından emin olun).
  4. Paylaşılmış bir commit’i geri alma: git revert <sha>, eskisini geçersiz kılan yeni bir commit oluşturur; push edilmiş geçmişte güvenlidir.

Stash görgü kuralları

  • Her zaman bir mesajla stash yapın: git stash push -m "wip: API bağlanıyor".
  • Pop yapmadan önce git stash list ile stash’lerinizi listeleyin, isimsiz stash’ler hızla birikir.
  • git stash pop uygular ve siler; git stash apply uygular ve saklar.

Kurtarma

Hard reset sonrası bir commit mi kaybettiniz? Büyük olasılıkla hâlâ reflog’dadır. Son 90 gündeki tüm HEAD hareketlerini görmek için git reflog çalıştırın, ardından iyi bir duruma dönmek için git reset --hard <sha> komutunu kullanın.

Sık Sorulan Sorular

Git 2.23’ten (Ağustos 2019) itibaren proje, aşırı yüklenmiş checkout komutunu ikiye ayırdı. switch dalları değiştirir, restore dosyaları geri yükler. İkisi de geriye dönük uyumluluk için hâlâ vardır, ancak daha sonra shell geçmişinize baktığınızda okunması daha kolaydır.

reset, dal işaretçisini (ve isteğe bağlı olarak çalışma ağacını) taşır. revert, önceki bir commit’i geri alan yeni bir commit oluşturur; ortak bir dalda güvenlidir. checkout / restore ise geçmişi yeniden yazmadan çalışma ağacındaki dosyaları değiştirir.

git revert <sha> ile telafi edici bir commit ekleyin ve onu push edin. Ekip açıkça anlaşmadıkça, ortak dallarda git reset --hard + git push --force kombinasyonundan kaçının.

Komutlar, sayfada görüntülenen statik metinlerdir. Seçtiğiniz konu, yalnızca ilgili komutları göstermek için sunucuya gönderilir ve iki adım arasında geçiş yaparken sayfa bağlantısında da taşınır. Kaydedilmez veya günlüğe yazılmaz.

İlgili Araçlar

Araç diğer dillerde mevcuttur