Git komutları

Git versiyon kontrolü

git --version

 

Git isim ve mail bilgilerinin girilmesi ve görüntülenmesi

git config --global user.name "isim soyad"

git config --global user.email "mail@mail.com"


git config user.name

git config user.email


Git'in başlatılması

Mevcut klasörde repository oluşturur.

git init


Durum kontrolü

git status

git status --short


Amend

Son commit'i düzenlemek için kullanılır.

git commit --amend -m "Yeni mesaj"

 

Yardım (Help)

git herhangiBirKomut -help

git help --all

 

Branch

Yeni branch oluşturulması

git branch newBranch

Branch'ların gösterilmesi (* aktif branch'a işaret eder)

git branch

git branch -r remote branchlerin gösterilmesi

Branch'a geçme

git checkout gecilecekbranchismi veya git switch gecilecekbranchismi

git checkout -b yenivegecilecekbranchismi Yeni branch oluşturma ve o branch'a geçme

Branch silme

git branch -d silinecekbranch


Checkout

(Branch başlığında da checkout fonksiyonları bulunmakta)

git checkout commithashcode Bir commite geçmek için


Commit

git commit -m "mesaj buraya yazilacak"

Commit işleminin stage olmadan gerçekleştirilmesi için:

git commit -a -m "mesaj buraya yazilacak"


Diff

git diff Mevcut değişiklikler ile son commit arasındaki farklılıkların gösterilmesi.

git diff HEAD Head ile farklılıklar

git diff master digerbranch Branchler arası farklılıklar

git diff hashcode hashcode İki commit arasındaki fark


Github reponun local git reposuna eklenmesi

git remote add origin link


Log

git log

git log --oneline Satırların tek satır halinde gösterilmesi için


Merge

git merge aktif_branche_merge_edilecek_branch Mevcut branche birleştirme

git switch master kodu ile tekrar son commite dönülebilir


Push

git push

git push -u origin branchismi

-u kullanıldığında git pull yaparken branch belirtmeye gerek kalmaz.


Rebase

Örneğin başka bir branchte çalışırken eş zamanlı olarak masterda yeni commitler yapılıyor ve bu commitleri kendi branchimize merge ediyoruz. Daha sonra merge commitleri çok fazla olduysa görünmemeleri için kendi branchimizdeyken rebase master komutu uygulanırsa kendi branchimizin logu önce tüm master commitleri ve ardından branchimizin commitleri sıralanacak şekilde düzenlenir. Fakat bu branchin geçmişini değiştireceği için tehlikelidir, o branchte başka çalışanlar kişiler var ise sorun çıkaracaktır.

git rebase master


Reset

Commit'lerin silinmesi. Komut bu şekilde kullanıldığında commitler silinir, değişiklikler silinmez:

git reset commithash

commithash için ilk 7 karakter kullanılabilir.

Silinenlerin commithashleri bilindiği taktirde bu işlem aynı şekilde geri de alınabilir.


Commitlerle birlikte değişikliklerin de silinmesi:

git reset --hard commithash


Belli sayıda commit silmek:

git reset --hard HEAD~1


Restore

Değişikliklerin son commite dönüştürülmesini sağlar.

git restore dosyaismi


Revert

Git logdaki belirli bir commitin aynısından yeni bir commit oluşturmayı sağlar. Fakat hash kodu yazılan committen değil ondan bir önceki committen yeni bir commit oluşturur.  Yani aynısından oluşturmak istediğiniz committen bir sonrakinin hash kodu kullanılmalı. Aslında yapılan şey hash kodu girilen commiti geri dönüştürüp yeni bir commit oluşturmak.

(--no-edit commit mesajı editörünü atlamak için)

git revert HEAD --no-edit HEAD'den bir önceki commitin aynısından yeni bir commit oluşturur.

Belirtilen bir commit'e (x kaç önceki kayıt olduğunu belirtiyor) dönüştürme

git revert HEAD~x

Hash kodu verilen committen önceki commitin aynısından yeni bir commit oluşturur:

git revert hashcode


Stage işlemleri (add)

Tek dosyanın stage edilmesi

git add filename.type

Bütün dosyaların stage edilmesi

git add --all

veya

git add-A

veya

git add .

Stage geri alma

git restore --staged filename


Stash

Commit yapılmadan branch değiştirileceğinde değişiklikleri kaydetme işlevi görür.

git stash

ve daha sonra branche geri dönüldüğünde geri getirmek için

git stash pop

branchdeki stashlerin listelenmesi

git stash list

belirli bir stash'in getirilmesi

git stash apply stash@{numara}

bütün stash listesinin silinmesi

git stash clear

sadece apply yapılırsa stashi getirir fakat listeden silmez

git stash apply


Yorumlar