Git Hile Sayfası
Son güncelleme
Kurulum ve yapılandırma
Commit'lerinizin doğru şekilde atfedilmesi için tek seferlik kurulum.
| Komut | Ne yapar |
|---|---|
git config --global user.name "Ada" | Commit adınızı ayarlayın |
git config --global user.email you@x.com | Commit e-postanızı ayarlayın |
git config --list | Mevcut tüm yapılandırmayı göster |
git config --global init.defaultBranch main | Yeni depoların ilk dalını main olarak adlandır |
git config --global core.editor "code --wait" | Varsayılan editörünüzü ayarlayın |
git --version | Kurulu Git sürümünü yazdır |
Oluşturma ve klonlama
Yeni bir depo başlatın ya da mevcut birini kopyalayın.
| Komut | Ne yapar |
|---|---|
git init | Geçerli klasörde yeni bir depo oluştur |
git clone <url> | Uzak bir depoyu yerele kopyala |
git clone <url> mydir | Adlandırılmış bir klasöre klonla |
git clone --depth 1 <url> | Sığ klon (yalnızca son commit) |
git clone -b dev <url> | Klonla ve dev dalını çıkar (checkout) |
Staging ve commit
Değişiklikleri proje geçmişine kaydedin.
| Komut | Ne yapar |
|---|---|
git add file.txt | Bir dosyayı stage'le |
git add . | Geçerli dizindeki tüm değişiklikleri stage'le |
git add -p | Seçili parçaları etkileşimli olarak stage'le |
git commit -m "message" | Stage'lenmiş değişiklikleri commit'le |
git commit -am "message" | İzlenen dosyaları stage'le ve commit'le |
git commit --amend | Son commit'i düzenle |
git rm file.txt | Bir dosyayı kaldır ve silme işlemini stage'le |
Dallanma
Değişiklikler üzerinde izole şekilde çalışın.
| Komut | Ne yapar |
|---|---|
git branch | Yerel dalları listele |
git branch feature | Yeni bir dal oluştur |
git switch feature | Mevcut bir dala geç |
git switch -c feature | Tek adımda oluştur ve geç |
git checkout feature | Dal değiştirmenin eski yolu |
git branch -d feature | Merge edilmiş bir dalı sil |
git branch -m newname | Geçerli dalı yeniden adlandır |
Merge ve rebase
İki daldaki çalışmayı birleştirin.
| Komut | Ne yapar |
|---|---|
git merge feature | feature dalını geçerli dala merge et |
git merge --no-ff feature | Her zaman bir merge commit'i oluştur |
git rebase main | Commit'lerinizi main üzerine yeniden uygula |
git rebase -i HEAD~3 | Son 3 commit'i etkileşimli olarak düzenle |
git rebase --continue | Çakışmaları çözdükten sonra devam et |
git rebase --abort | Devam eden bir rebase'i iptal et |
git cherry-pick <hash> | Bir commit'i bu dala uygula |
Uzak depolar (push, pull, fetch)
Yerel deponuzu GitHub gibi bir uzak depoyla eşitleyin.
| Komut | Ne yapar |
|---|---|
git remote -v | Yapılandırılmış uzak depoları listele |
git remote add origin <url> | origin adında bir uzak depo bağla |
git fetch | Merge etmeden uzak değişiklikleri indir |
git pull | Uzak dalı getir ve merge et |
git push | Commit'leri uzak depoya yükle |
git push -u origin main | Push et ve upstream dalı ayarla |
git push origin --delete feature | Uzak bir dalı sil |
İnceleme (status, log, diff)
Neyin değiştiğini ve neler olduğunu görün.
| Komut | Ne yapar |
|---|---|
git status | Stage'li, stage'siz ve izlenmeyen dosyaları göster |
git log | Commit geçmişini göster |
git log --oneline --graph | Dal grafiğiyle kompakt geçmiş |
git diff | Stage'siz değişiklikler ile index karşılaştırması |
git diff --staged | Stage'li değişiklikler ile son commit karşılaştırması |
git show <hash> | Tek bir commit'in değişikliklerini göster |
git blame file.txt | Her satırı en son kimin değiştirdiğini göster |
Değişiklikleri geri alma
Hatalardan güvenli şekilde kurtulun.
| Komut | Ne yapar |
|---|---|
git restore file.txt | Bir dosyadaki stage'siz değişiklikleri sil |
git restore --staged file.txt | Bir dosyayı stage'den çıkar (değişiklikleri koru) |
git reset --soft HEAD~1 | Son commit'i geri al, değişiklikleri stage'de tut |
git reset --hard HEAD~1 | Son commit'i geri al ve değişiklikleri sil |
git revert <hash> | Başka bir commit'i geri alan yeni bir commit yap |
git stash | Değişiklikleri sonrası için rafa kaldır |
git stash pop | En son stash'i yeniden uygula |
Başvurduğunuz her Git komutu tek sayfada. Bu Git hile sayfası, günlük sürüm kontrolü için hızlı bir başvurudur - Git'i yapılandırma, staging ve commit, dallanma, merge ve rebase, uzak depolarla eşitleme ve hataları geri alma.
Bunlar Linux, macOS ve Windows'ta aynı şekilde çalışan standart Git komutlarıdır. İhtiyacınız olanı kopyalayın ya da terminal playground'da canlı deneyin - tarayıcınızda gerçek bir kabuk, kurmanız gereken hiçbir şey yok.
Git hile sayfası SSS
Bu Git hile sayfası ücretsiz mi?
Merge ile rebase arasındaki fark nedir?
git merge, iki dalı geçmişlerini birbirine bağlayan yeni bir merge commit'i oluşturarak birleştirir ve her ikisinin de tam geçmişini korur. git rebase ise commit'lerinizi tek tek başka bir dalın üzerine yeniden uygulayarak merge commit'i olmayan doğrusal bir geçmiş üretir. Merge güvenli ve yıkıcı değildir; rebase daha temiz bir geçmiş oluşturur ama commit'leri yeniden yazar, bu yüzden başkalarının daha önce pull'ladığı dalları rebase'lemekten kaçının.Git'te bir commit'i nasıl geri alırım?
git reset --soft HEAD~1 son commit'i geri alır ama değişiklikleri stage'de tutar, git reset --hard HEAD~1 ise onları tamamen siler. Zaten paylaşılmış bir commit için, geçmişi yeniden yazmadan onu tersine çeviren yeni bir commit oluşturmak üzere git revert <hash> kullanın.