Etiket arşivi: git commit

Oh My Git ile Kolaylıkla Git Öğrenin

Git kontrol sistemine yeni başlayanlar ile daha fazlasını öğrenmek isteyen ileri düzey kullanıcılar için eğlenceli bir oyun olan Oh My Git! Eylül 2020’den bu yana geliştirilmekte olup ve son kararlı sürümü Şubat 2021’de piyasaya sürüldü.

Ücretsiz ve açık kaynaklı olan Oh My Git! Godot oyun motoru kullanılarak oluşturulmuş olup Linux, macOS ve Windows için de sürümleri mevcuttur.

Oyunda entegre gerçek bir Git mevcut ve bu sayede Git’in tüm özellikleri denenebilmektedir.

Herkesçe bilindiği gibi yazılım dünyasında projeler tek bir kişi tarafından geliştirilmiyor ve takım halinde geliştirilen projelerin senkronize edilmesi gerekiyor. Bir versiyon kontrol sistemi olan Git de tam bu noktada ortaya çıkıyor. Projelerde her bir adımın bir mesajla yedeklenmesi sağlanıyor ve projenin tutulduğu yerde bir senkronizasyon sağlanarak geliştiricilerin birbirlerinden haberdar bir şekilde ilerlemesi sağlanıyor.

Git ile projenin güvenli bir şekilde yedeklenmesi, senkronize ilerlenmesi ile ne zaman ne geliştirildi bilgilerine sahip olunması sağlanıyor.

Oyunu açtığınızda, komutları yazabileceğiniz bir terminal, dosya yöneticisine benzer bir ekran ve birçok öğe ile karşılacaksınız.

Sonraki adımda talimatlar içeren kısa bir hikaye karşınıza çıkacak. Oyunda her Git özelliği boyunca adım adım yönlendirilecek ve her seviyede, sorunları çözmek için yeni edinilen becerilerin kullanabileceği hikayeler karşınıza çıkar.

3. seviye ile yeni tanıtılan Git komutlarınızı içeren özel oyun kartları alacaksınız. Bu kartlarda komutların kısa bir açıklamasını da göreceksiniz.

Başlıca Git Komutları

git config’

‘git config’; kullanıcı adı, e-posta, dosya formatları gibi genel yapılandırma ayarlarını yapabildiğiniz komuttur.

$ git config –global user.name “sdu”
$ git config –global user.email [email protected]

Yukarıdaki komutları girdiğinizde bütün Git projelerinizde belirlediğiniz kullanıcı adı ve e-posta adresi kullanılır.

‘git init’

Bu komut, bulunduğunuz dizini bir Git repository‘si haline getirir ve .git adında bir dizin oluşturur. Daha sonra isterseniz bu repository‘yi uzaktaki bir sunucuya gönderebilirsiniz.

mkdir Proje

cd Proje
git init
Initialized empty Git repository in /Users/SDU/Proje/.git/

Örnekte, kök dizinde Proje diye bir proje klasörü oluşturulup ardından bu dizinde bir Git repository‘si oluşturuldu. Komutları sırasıyla girdiğinizde konsolda “Belirtilen dizinde boş bir Git repository‘si oluşturuldu.” şeklinde bilgilendirme ile karşılacaksınız.

‘git clone’

Bu komut ile yerel veya uzak bir sunucuda yer alan repository’nin çalışan kopyasını bulunduğunuz dizine kopyalayabilirsiniz.

git clone username@host:/path/to/repository
git clone /path/to/repository
İlk satır uzak bir sunucudaki repository‘yi, diğer satır ise bilgisayarınızda mevcut bir repository‘yi bulunduğunuz dizine kopyalar.

‘git add’

Belirttiğiniz bir dosyayı veya tüm projeyi çalışma dizinine ekler.

git add test.txt
git add *
İlk satır ‘test.txt‘ isimli dosyayı; ikinci satır proje içerisindeki tüm dosyaları çalışma dizinine ekler.

‘git rm’

Belirttiğiniz bir dosyayı çalışma dizininden siler.

git rm test.txt

‘git commit’

Çalışma dizinine eklenen dosyaları head denilen .git klasörü içindeki kısıma ekler. Commit işlemi sadece yerelde gerçekleşen bir işlemdir ve uzak sunucudaki repository‘de bir değişiklik yapmaz.

git commit -m “projede şu işlem yapıldı.”

Tırnak içerisinde yazan kısım commit mesajıdır, yani hangi kısımlarda değişiklik yapıldığı bilgisi girilir. Boş bırakmamanız ve hangi kısımlarda değişiklik yaptığınızı yazmanız daha sonrası için size kolaylık sağlayacaktır.

‘git push’

Commit‘lenmiş değişikliklerin uzak sunucudaki repository‘ye kaydedilmesini sağlayan komuttur.

git push ‘remote_name’ ‘branch_name’

‘git status’

Repository durumu hakkında bilgi verir. Değişiklik yapılmış veya yeni eklenmiş fakat add ya da commit işlemi uygulanmamış dosyalar varsa bunları liste halinde gösterir.

git status

‘git pull’

Uzak sunucudaki repository‘de değişikliğe uğramış ya da yeni eklenmiş dosyalar varsa bunları indirir ve yereldeki repository ile birleştirir.

git pull ‘remote_name’ ‘branch_name’