Herkese merhaba. Bu içerikte sıklıkla kullanılan git komutlarını yayınlamak istedim. Her ne kadar çoğu git kullanıcısı komutlarla işlem yapmak yerine SourceTree ya da GitHub Desktop gibi uygulamalar kullanıyor olsalar da bazen komutlar hayat kurtarıcı olabiliyor. Bu nedenle ben de blogumda bu komutların bulunmasının doğru olacağını düşündüm.
Ancak komutlara geçmeden önce dilerseniz nedir bu git, önce bu soruyu cevaplayalım kısaca. git, aslında bir versiyon kontrol sistemidir (VCS) ve diğer versiyon kontrol sistemleriyle kıyaslandığında bana göre açık ara en iyisidir.
VCS denilen şey ise adından da anlaşılacağı üzere bir ya da daha fazla dosya üzerinde yapılan değişiklikleri kaydeden ve daha sonra belirli bir sürüme geri dönebilmemizi ya da bu sürümleri inceleyebilmemizi sağlayan bir sistemdir. Bu sistem sayesinde geliştiriciler kodlarını versiyonlayabilir, diledikleri anda eski bir versiyona dönebilir ve sonrasında kaldıkları yerden devam edebilirler.
Bu kısa açıklamadan sonra artık asıl içerik olan komutlara geçebiliriz. Aşağıda sıklıkla kullanılan/kullandığım komutları ve hemen yanlarında ise açıklamalarını bulabilirsiniz.
Proje Oluşturma & Kopyalama
Komut | Açıklama |
---|
git init | Yerel bir git reposu oluştur |
git clone ssh://git@github.com/[username]/[repository-name].git | Uzak sunucudaki git reposunu kopyala |
Temel Komutlar
Komut | Açıklama |
---|
git status | Repository durumunu kontrol et |
git add [file-name.txt] | Dosyayı çalışma dizinine ekle (Commit etmeye hazır hale getir) |
git add -A | Değiştirilmiş ya da yeni eklenmiş tüm dosyaları çalışma dizinine ekle |
git commit -m "[commit message]" | Değişiklikleri commit et |
git rm -r [file-name.txt] | Bir dosyayı/klasörü kaldır |
Dallanma & Birleşme
Komut | Açıklama |
---|
git branch | Tüm dalları listele (Yıldızlı olan o anki dalı işaret eder) |
git branch -a | Localdeki ve uzak sunucudaki tüm dalları listele |
git branch [branch name] | Yeni bir dal oluştur |
git branch -d [branch name] | Dalı sil |
git push origin --delete [branch name] | Uzak sunucudaki dalı sil |
git checkout -b [branch name] | Yeni bir dal oluştur ve ona geçiş yap |
git checkout -b [branch name] origin/[branch name] | Uzak sunucudaki dalı kopyala ve ona geçiş yap |
git checkout [branch name] | Başka bir dala geçiş yap |
git checkout -- [file-name.txt] | Dosyadaki değişiklikleri göz ardı et |
git merge [branch name] | Dalı o anda aktif olan dalla birleştir |
git merge [source branch] [target branch] | Dalları birleştir |
git stash | Değişiklikleri güvenli alana ekle |
git stash clear | Güvenli alandaki her şeyi temizle |
Projeyi Paylaşma & Güncelleme
Komut | Açıklama |
---|
git push origin [branch name] | Değişiklikleri uzak sunucuya gönder |
git push -u origin [branch name] | Değişiklikleri uzak sunucuya gönder ve bu dalı hatırla |
git push | Hatırlanan daldaki değişiklikleri uzak sunucuya gönder |
git push origin --delete [branch name] | Uzak sunucudaki bir dalı sil |
git pull | Uzak sunucudaki yeni dosyaları localdeki repoya çek |
git pull origin [branch name] | Uzak sunucuda bulunan daldaki yeni dosyaları localdeki repoya çek |
git remote add origin ssh://git@github.com/[username]/[repository-name].git | Uzak sunucu ekle |
Kontrol & Karşılaştırma
Komut | Açıklama |
---|
git log | Değişiklikleri görüntüle |
git log --summary | Değişiklikleri detaylı olarak görüntüle |
git diff [source branch] [target branch] | Birleştirme öncesi iki dal arasındaki farklılıkları görüntüle |