En Çok Kullanılan Git Komutları
En Çok Kullanılan Git Komutları
Kaynak kodunda yapılan değişiklikleri takip ve kontrol etmek için kullanılan git komutları, günümüz yazılım dünyasının en önemli araçları arasında yer alır. Gelişmiş bir DevOps aracı olan Github ise yazdığın kodları ve projeleri dünyanın her yerinden paylaşmana olanak tanır. Github komutları olarak da bilinen git komutları ile projelerini yönetebilir ve yapılan değişiklikleri kolayca takip edebilirsin.
Git Komutu Nedir?
Modern bir versiyon kontrol aracı (VCS) olan Git ve GitHub, dosya kümesi içinde gerçekleştirilen değişiklikleri izlemeni kolaylaştırır. Çevrimiçi erişime olanak tanıyan Github, dağıtılmış bir sürüm kontrol sistemi olarak da düşünülebilir. Git komutları ile sürüm kontrol sistemine ait araçları çalıştırabilir, dosyaları listeleyebilir ve veriler üzerinde değişiklikler yapabilirsin.
Git Komutları Nelerdir?
Git hem gelişmiş işlemlere hem de dahili bileşenlere tam erişim sağlamak üzere tasarlanan son derece zengin bir komut setine sahiptir. Pratik, hızlı, ölçeklenebilir ve dağıtılmış kontrol sistemi sayesinde uzaktan veriye müdahale etmek ve yetkilendirilmiş sorumluluklar dahilinde değişiklikler yapmak mümkündür. Git komutları kullanımı ile çok sayıda yazılımcı tek bir proje üzerinde çalışabilir ve çalışmalarını eş zamanlı olarak dünyanın her yerinden yürütebilir. Sen de git kullanımı ile açık kaynak kodlu projelere dahil olabilir veya kendi projeni geliştirerek etkileyici bir portföy oluşturabilirsin. Haydi gel, bu süreçte sana yardımcı olacak en popüler 20 git komutuna yakından göz atalım.
1. git clone
Git klonlama komutu olarak bilinen git clone ile herhangi bir URL adresinden veri klonlayabilirsin. Klonlama komutu sayesinde farklı bir yerden projenin güncel sürümünü indirebilir ve proje dosyalarını bilgisayarındaki veya lokal server alanındaki güvenli bir konuma taşıyabilirsin. Bu komutu kullanarak tüm projeyi klonlayabileceğin gibi bir projenin belli alt dallarını da spesifik olarak belirterek kopyalayabilirsin.
Örnek
git clone [url]
git clone [url] -b [depo adı]
2. git config
Temel git komutları arasında yer alan git config, yapılan değişikliklerin hangi kullanıcı tarafından gerçekleştirildiğini görmeni sağlar. Git üzerinde yaptığın çalışmaları özelleştirmene ve iş akışına uygun olarak optimize etmene olanak tanır. Bu komutu kullanarak yazar ismi ve e-posta adresi gibi bilgileri kolayca yapılandırabilirsin. Ayrıca proje üzerinde gerçekleştirilen değişiklikler geriye dönük olarak takip edilebilir ve hangi güncellemelerin hangi kullanıcı tarafından gerçekleştirildiği rahatlıkla görüntülenebilir. Her konfigürasyon seviyesine uygun git yapılandırmaları da kullanıcı özelinde ayarlanabilir.
Örnek
git config –global user.name “[isim]”
git config –global user.email “[e-mail adresi]”
3. git init
Lokal alanda hazırlayacağın projelerine start vermek için git init komutunu kullanabilirsin. Yeni bir depo başlatmak istiyorsan bu komuttan yararlanabilirsin. Get init bilgisayarında .git uzantılı bir depo açar ve lokal dosyalarını buraya kaydedebilmene olanak tanır.
Örnek
git init [depo adı]
4. git add
Popüler git komutları arasında yer alan git add, projeni veya proje içindeki bir dosyayı depo alanına eklemeni sağlar. Bu aynı zamanda değiştirilen dosyaları hazırlamak için kullanman gereken bir komuttur. Tek tek dosyaları aşamalandırabilir veya birden fazla dosyayı tek seferde ekleyebilirsin.
Örnek
git add [dosya adı] (Belirtilen dosyayı depoya ekler.)
git add * (Birden fazla ekleme yapar.)
5. git commit
Bu komut herhangi bir dosyayı sürüm geçmişine kalıcı olarak kaydetmene olanak tanır. Git commit komutu, git add komutu ile eklediğin diğer dosyaları da kaydeder. Dosyalar son halini alır ve kalıcı olarak veri tabanına işlenir. Dosyaları kaydetmeden önce kullanabileceğin bilgileri ve değişim aşamalarını da akılda kalacak şekilde not edebilirsin.
Örnek
git commit -a
git commit -m “[kayıt mesajını yazın]”
6. Git branch
Bu komut geçerli depodaki tüm yerel dalları, sınıfları veya bölümleri listelemek için kullanılır. Git branch ile veri havuzundaki tüm alt dosyaları veya sınıfları listeleyebilir, proje haritasını daha planlı bir şekilde kurgulayabilirsin. Git branch önüne ekleyebileceğin -d ek komutu sayesinde oluşturduğun sınıfları dilediğin gibi silebilirsin.
Örnek
git branch (Tüm bölümleri veya sınıfları listeler.)
git branch [bölüm adı] (Yeni bir sınıf veya bölüm ekler.)
git branch -d [bölüm adı] (Belirtilen bölüm veya sınıfı siler.)
7. git diff
Bu komut henüz basamaklandırılmamış olan dosyalardaki değişimleri gösterir. Dosyalar arasındaki farklılıklar da git diff komutu üzerinden takip edilebilir.
Örnek
git diff git diff –staged (Taslak ile son sürüm dosyası arasındaki değişiklikleri gösterir.)
git diff [ilk bölüm(dosya)] [ikinci bölüm(dosya)] (Belirtilen iki dosya arasındaki farkları gösterir.)
8. git reset
Bu komut dosyanın aşamalarını kaldırır ancak dosya içeriğini korur. Resetleme yöntemi sayesinde yeni bir işlem yapmadan ve bilgilerini kaybetmeden değişimleri geri alabilmen mümkün olur.
Örnek
git reset [dosya] (Dosya aşamasını kaldırır, dosya içeriğini korur.)
git reset [commit] (Belirtilen işlemden sonrakileri geri alır ve yapılan diğer değişiklikleri korur.)
git reset –hard [commit] (Lokal olarak konumlandırılan tüm işlemleri ve işlem geçmişini temizler.)
9. git rm
Dosyayı çalışma dizininden temizler ve bu işlemi basamaklandırır. Bu komut, çalışma dizininde yer alan dosyalar arasında temizlik yaparken sıklıkla kullanılır.
Örnek
git rm [dosya]
10. git status
Bu komut, kaydedilmesi gereken tüm dosyaların aşamalı bir şekilde listelenmesini sağlar. Git status komutunu kullandıktan sonra ekranda listelenen dizinler veya dosyalar üzerinde rahatlıkla işlem yapabilirsin.
Örnek
git status
11. git log
Log almak olarak da bilinen bu komut, geçerli dosyaların sürüm geçmişini listelemek için kullanılır. Git log ile işlem kayıtlarını hem görüntülemek hem de listelemek mümkün olur. Alt parametreler ve komut dizinleri ile kullanılabilen git log, sıralamayı kayıt zamanına göre sondan başa doğru listeler.
Örnek
git log
git log -follow [dosya] (Belirtilen dosyanın yeniden adlandırma bilgisi de dahil olmak üzere tüm bilgilerini ve sürüm geçmişini listeler.)
12. git show
Temel git komutları içinde olan git show, kullanıcı tarafından belirtilen işlemin (commit) meta verilerini ve içerik değişikliklerini gösterir.
Örnek
Git show [commit(işlem)]
13. git tag
Bu komut belirtilen işlemi (commit) etiketlemek için kullanılır.
Örnek
git tag [commitID]
14. git checkout
Bu komut bir daldan (branch) diğerine geçiş yapmak için kullanılır. Git checkout komutu sayesinde projeni alt dallara ayırman da kolaylaşır. Proje haritası sayesinde aynı proje içinde alt projeler veya deneme projeleri geliştirebilirsin.
Örnek
git checkout [branch adı]
git checkout -b [branch adı] (Bu komut yeni bir dal oluşturur ve aynı zamanda ona geçiş yapar.)
15. git merge
Birleştirme komutu olarak da bilinen git merge belirtilen uzantıyı veya dalı başka bir uzantı ile birleştirir.
Örnek
git merge [branch adı]
16. git remote
Bu komut lokal sunucudan veya bilgisayarından uzak sunucuya bağlanmak için kullanılır. Uzaktan sunucuya bağlanmak için ilk olarak bağlantı adı ardından da uzak sunucuya ait bağlantı linkini eklemen yeterlidir.
Örnek
git remote add [bağlantı adı] [Uzak Server Linki]
17. git push
Bilgisayarda veya lokal sunucuda bulunan commit’leri yani işlem demetlerini uzak depo alanına aktarmak için kullanılır.
Örnek
git push [değişken adı] master (Belli işlem demetlerini uzak sunucuya gönderir.)
git push [variable name] [branch] (Bu komut belirtilen değişkeni uzak depoya gönderir.)
git push –all [değişken adı] (Bu komut tüm işlem demetlerini uzak depoya gönderir.)
git push [değişken adı] :[branch name] (Bu komut, uzak depoda özel olarak belirtilen işlem demetini siler.)
18. git pull
Bu komut uzak sunucuda yapılan değişiklikleri çalışma dizinine getirir ve birleştirir.
git pull [Depo Bağlantı Linki]
19. git stash
Üzerinde çalışılan ancak nihai haline ulaşmamış dosyaları geçici olarak kaydeder.
Örnek
git stash save (Değiştirilen tüm dosyaları geçici olarak saklar.)
git stash pop (En son saklanan dosyaları geri yükler.)
git stash list (Saklanan tüm değişiklik kümelerini listeler.)
git stash drop (En son saklanan değişikliği listeden siler.)
20. git rebase
Bu komutu yeniden temellendirme ya da belirtilen işlem demetlerini birleştirme için kullanabilirsin.
Örnek
git rebase [branch adı]
Git Kullanmanın Faydaları Nelerdir?
Git veya Github kullanımının yazılımcılara sağladığı başlıca faydalar şu şekilde sıralanabilir:
- Ücretsizdir: Açık kaynak kodlu bir uygulama olduğu için git kullanımı tamamen ücretsizdir. Çalıştığın veya destek olduğun projeye dilediğin zaman özgürce katkıda bulunabilirsin.
- Yüksek performanslıdır: Dosya adları veya versiyonları yerine doğrudan dosya içeriğine odaklanabilmeni sağlar. Bu sayede diğer sürüm kontrol yazılımlarından veya sistemlerinden daha hızlı ve stabil çalışır.
- Üst düzey güvenlik sağlar: Git; yazılan kodları, kütüphaneleri ve değişiklik geçmişini SHA1 isimli karma algoritma ile güvende tutar. Dosyalar, dizinler, temel veriler ve revizyonlar kriptografik açıdan güvenli bir algoritma ile korunur.
- Yaygın olarak kullanılır: Git hem akademik alanda hem de iş dünyasında birçok büyük kuruluş tarafından yaygın olarak kullanılan popüler bir versiyon kontrol aracı (VCS) haline gelmiştir.
Günümüzde Git kullanımı bir yazılım geliştiricinin olmazsa olmazı haline gelmiştir. Deneyimli yazılımcılardan akademisyenlere, proje yöneticilerinden bootcamp öğrencilerine kadar her seviyede kullanıcı Github üzerinden farklı projelere ulaşabilir ve özgürce katkıda bulunabilir. Sen de Git eğitimleri ve diğer eğitimler için Techcareer.net tarafından ücretsiz olarak sunulan Bootcamp maratonlarına katılabilir, kısa süre içinde yeteneklerini geliştirebilirsin. Eğitim sürecinin ardından alanına en uygun iş ilanları için başvuruda bulunabilir, yazılım alanında kariyer yapmak için ilk adımı atabilirsin.
Sık Sorulan Sorular
GitHub ve Git arasındaki farklar nelerdir?
Git, geliştiricilerin yazdıkları kodlardaki değişiklikleri takip etmelerine imkân tanıyan bir sürüm kontrol sistemidir. GitHub ise git depoları için tasarlanan bulut tabanlı bir barındırma hizmetidir. Git sistemlerinden farklı olarak Github kullanan bir yazılımcı, uzaktan yetki erişimi ile farklı bir ülkeden ve bilgisayardan ana git komutlarına erişim sağlayabilir.
Git komutlarını ezberlemek gerekir mi?
Alt parametreleri ile birlikte düşünüldüğünde yüzlerce git komutu vardır, ancak bunların tamamını ezberlemen gerekmez. Sadece önemli komutları bilmen ve gerektiğinde dokümantasyon üzerinden diğer komutlara ulaşman yeterli olacaktır.
Git kullanmak geliştiricilere ne tür avantajlar sağlar?
Kullanımı oldukça pratik olan git uygulamaları kod tabanındaki her değişiklik için yalıtılmış ve güvenli bir ortam sağlar. Kullanıcılar lokal server kısıtlaması yaşamadan uzaktan erişime açık her dosyaya kolayca ulaşabilir. Dallandırma (branching) yeteneği de Git kullanımının bir diğer önemli avantajıdır.
Bootcamp eğitimleri ücretli midir?
Techcareer.net tarafından sunulan Bootcamp eğitimleri ücretsiz olarak sunulur.
Bootcamp katılım şartları nelerdir?
Techcareer.net Bootcamp maratonu farklı seviyelere uygun olarak tasarlanır. Katılım şartlarını kontrol ederek senin için en uygun eğitim seçenekleri arasından seçimini yapabilirsin.
Junior aday olarak iş ilanlarına başvurabilir miyim?
Evet, gerekli eğitimleri tamamladıktan hemen sonra junior iş ilanları için başvuruda bulunabilirsin.