Blog Kısaca Git ve Terminal Komutları

Kısaca Git ve Terminal Komutları

Git yazdığınız kodlar için bir versiyon kontrol sistemidir diyerek çoğu Türkçe kaynaktaki gibi giriş yapayım. Biraz daha basite indirgeyecek olursak ilk yazmış olduğunuz -çalışan- kodunuz üzerinde kodlamaya devam etmek yerine bunu bir yerde depolayarak ve bu kodu başka bir yere klonlayarak (kopyalayarak) onun üstünde değişiklik yapmak denebilir.

Git, ekip olarak çalışmayı ve yapılan hataları geri almayı sağlayabildiği için kodlama için öğrenilmesi gerekenler arasında.

Oluşturmuş olduğunuz bir projeyi ilk kez git reponuza push edeceğiniz zaman sırasıyla;

git init

Bu komut yeni bir projeyi, oluşturduğunuz bir repo*ya bağlayacağınızı (o klasörde bir push işlemi gerçekleştireceğinizi) ya da var olan bir repodan kodları klonlayacağınızı (klasör içerisine pull işlemi gerçekleştireceğinizi) belirtir.

REPOSITORY(REPO)*

Git ya da versiyon kontrol sistemleri üzerinde oluşturmuş olduğunuz kodlarınızı tutacağınız bulut depolamaya verilen ad diyebiliriz.

git add README.md || git add .

Projeye eklemek isteyebileceğiniz projenizin kullanım kılavuzudur, projeniz ya da kendinizi tanıtabileceğiniz kısım olarak da düşünülebilir. Eğer böyle bir dosyanız yoksa “git add .” ile bu kısmı geçebilirsiniz. İsterseniz daha sonra da düzenleyebilirsiniz.

git commit -m “yapmış olduğunuz değişiklikleri anlattığınız bir iki cümle”

Bu komut ile yapmış olduğunuz değişiklik hakkında kendinize, kodlarınıza göz gezdirenlere ya da ekip arkadaşlarınıza bilgi verebilirsiniz.

 

git branch -M master

Bu komut kodlarınızı push edeceğiniz branch* hangisi ise onu belirterek yanlış bir yere gitmesinin önüne geçiyoruz.

BRANCH*

Branch kısaca masterın istediğimiz commitinden pull edebildiğimiz master kodlarının kopyasıdır.

git remote add origin

Bu komutla ise “” kısmına yazmış olduğunuz reponuzun linki şu anki kodlarınızı tutacağınız yer olarak dosyalara belirtiyorsunuz.

git push --set-upstream origin | | git push

Yerel dosyalarınızda yeni oluşturmuş olduğunuz bir branche sahipseniz soldaki komutu kullanarak reponuza önce hangi branche push edeceğinizi söylemeniz gerekiyor.

Eğer bulunduğunuz branch repodan çekilmişse ya da daha önce bu branch üzerinden push etmişseniz sadece “git push” kullanmanız yeterli olur.

Git üzerinden bir repo pull edeceğiniz zaman yazacağınız komutlar ise;

git init

Bu komut yukarı kısımda da belirttiğim gibi bir repodan kodları klonlayacağınızı (klasör içerisine pull işlemi gerçekleştireceğinizi) belirtir.

git pull || git pull

Bir repoyu ilk kez pull edeceğiniz zaman bunun hangi repo üzerinden yapılacağını “” kısmında repomuzun linkini belirterek bu işlemi gerçekleştiriyoruz.

Eğer projemizi daha önce pull etmişsek ancak ekip arkadaşlarımız tarafından yeni commitler ve pushlar yapılmışsa elimizdeki kodlara yeni yapılmış commit ve pushları eklemek için yalnızca “git pull” yeterli olacaktır.

Yerel branch oluşturmak, branchler arasında geçiş yapmak, branch silmek yine terminalde yazacağımız komutlar ile yapılabilir. Bu komutlara bakacak olursak;

git checkout -b

“” kısmına yazacağınız isimde yerel bir branch oluşturacak olan komuttur. Sizi direkt olarak bu branche taşır.

git branch

“” kısmına yazacağınız var olan bir branche geçiş yapmanızı sağlayacak olan komuttur.

git checkout -d

“” kısmına yazacağınız branchi kontollü bir şekilde silmenizi sağlar. Yani eğer bu branch üzerinde değişiklik yapmışsanız ancak bunu commit edip pushlamamışsanız size bir hata döndürür.

git checkout -D

“” kısmına yazacağınız branchi kontrolsüz bir şekilde silmenizi sağlar. Bu branch üzerinde değişiklik yapmışsanız bu komut o değişiklikleri göz ardı ederek branchi siler.

Hatalı bir kod push ettiğinizde;

git revert

Bu komutta “” kısmına 7 karakterli yapmış olduğunuz hatalı commite ait id’i yazıp bu commiti reponuzdan geri alabilirsiniz.

MERGE ve REBASE

git merge --squash

Master branchi üzerinde bu komutu çalıştırırsanız “” isimli branchinizi master branchiniz üzerine ekler.

git rebase master

Herhangi bir branch üzerinde bu komutu çalıştırırsanız son yaptığınız committen öncesine master branchinin son commitini çeker. Conflictler varsa bunları size göstererek elinizdeki kodları mı masterdan gelen kodları mı tutmak istediğinizi seçebilirsiniz.

Son olarak;

git log || git log --oneline

Yapmış olduğunuz commitleri tarih ve saat olarak size sunan komuttur. Eğer sadece commit ve commit id görmek isteseniz de “--oneline” ekleyebilirsiniz komutun sonuna.

.gitignore

Komut olarak değil bir dosya olarak oluşturduğumuz “.gitignore” repomuza push etmemizin güvenlik açığı oluşturacağı dosyaları push etmemek için kullanılır. Push komutu ile göndermeyeceğimiz dosya yolları bu dosya içine yazılır.

Git hakkında bildiklerimi aktarmaya çalıştım umarım faydalı olur.

Yazar: Can DEVE