Belli başlı git komutları

Sıkça kullandığım git komutlarını listelemeye çalıştım.

No Komut Açıklama
1 git checkout dev Lokaldeki dev brach’ine geçmenizi sağlar.
2 git pull Tüm brach güncellemelerini sunucudan indirir.
3 git checkout -b bug/yeni Yeni bir lokal brach oluşturur.
4 git checkout bug/yeni  Lokal bug/yeni branch’ine geçmeyi sağlar.
5 git commit -m “Açıklama” Yapılan değişiklikleri çalışılan lokal brach’e kaydeder.
6 git push Kaydedilen değişiklikleri çalışılan brach ile aynı isimle sunucuya gönderir.
7 git merge dev Çalışılan brach’i lokal dev branch’ine birleştirir.
8 git stash Yapılan değişikliği geçici olarak kaydeder.
9 git stash pop Kaydedilen geçici değişikliği geri getirir.
10 git cherry-pick commitno Commit’i aktif branch’a taşır.
11 git reset --hard HEAD~x hard yapılan değişiklikleri geri alır.
HEAD commit referansı vermek için kullanılır, kullanılmazsa sadece commit edilmemiş değişiklikleri dikkate alır.
x commit öncesine döner. ~x yerine ^ kullanılırsa son commit’i ifade eder.
12 git push -f <remote> <branch> brach geçmişini temizleyerek gönderir.
13 git stash clear Geçici dosyaları temizler.
14 git reset HEAD^ Son commit’i geri alır, değişiklikler korunur.
15 git clean -fd Takip edilmeyen dosya ve klasörleri siler

Komutların kullanımı için örnek senaryolar:

Yeni geliştirme yapılması:
1 -> 2 -> 3 -> 5 -> 6 -> 1 -> 2 -> 4 -> 7 -> 6

Henüz sunucuya gönderilmemiş (6) değişiklikleri farklı bri brach’e taşımak:
4 -> 10

Sunucuya gönderilmiş commitleri silmek:
11 -> 12

Sunucuya gönderilmiş commit’i silerek yeni bir commit ile göndermek için:
14 -> 12

Henüz commitlenmemiş değişikleri geri alarak takip edilmeyen dosya ve klasörleri silmek için:
11 -> 15

Sunucuya gönderdilmiş commit içindeki bir dosyaya ait değişliğin kaldırılması:
git show commitno -- some_file.c | git apply -R

Aynı kodların başka bir git sunucusuna aynalanması / kopyalanması:
git push --mirror https://github.com/mkysoft/myproject.git

Detaylar: http://ohshitgit.com/

Git konusunda değerli bir kaynak: https://www.slideshare.net/lemiorhan/git-antipatterns-extended-version-with-28-common-antipatterns-scturkey-meetup