20/03/2015 - GIT
Aşağıdaki komutlar günlük çalışma hayatında en yaygın şekilde kullanılan git komutlardır. Eğer en iyi branch yaratma modelini öğrenmek isterseniz, git-flow cheatsheet ve A successful Git branching model yazılarını okuyun, anlayın ve kullanın.
Verilen dosyayı indexler. git add
Tüm tracked ve untracked dosyaları indexler. git add
Silinmiş dosyalar haricinde tüm tracked ve untracked dosyaları indexler. git add
Sadece tracked dosyaları indexler. git add
Tüm indexlenmiş dosyaları commit eder. git commit
Verilen dalı aktif olan dal ile birleştirir. git merge
Aktif olan daldaki tüm indexlenmiş, tracked ve untracked çalışmaları hafızaya alır. git stash
Aktif olan dalın içine hafızada depolanmış olan çalışmaları geri getirir. git stash
İndexlenmiş olan tüm dosyaları hafızaya alıp, git stash apply
komutu ile diğer bir dala yapıştırır. git stash
Aktif olan dalın içine, sadece verilen committeki değişiklikleri çeker. git cherry-pick
Dalın ismini değiştirir. git branch
Unstaged alanındaki değişiklikleri ve silinen dosyaları geri alır. Dosyalar çalışma ağacından kaldırılır. İndexlenmiş ve untracked dosyaları etkilemez. git checkout
Unstaged alanındaki değişiklikleri ve silinen dosyaları geri alır. Dosyalar çalışma ağacından kaldırılır. İndexlenmiş ve untracked dosyaları etkilemez. git checkout
Verilen dosyaya yapılan değişiklikleri geri alır. Dosya çalışma ağacından kaldırılır. Untracked dosyaları etkilemez. git checkout
Verilen dosyaya yapılan değişiklikleri tutar ve çalışma ağacından kaldırır. İndexlenmiş ve untracked dosyaları etkilemez. git update-index
Komut --assume-unchanged
'ın yaptığı işlemleri geri alır. İndexlenmiş ve untracked dosyaları etkilemez. git update-index
Verilen daldaki dosyayı, aktif olan dala kopyalar. git checkout
Verilen dalı uzak depodan kaldırır. git push
Untracked dosyaları sistemden ve çalışma ağacından kaldırır. İndexlenmiş ve tracked dosyaları etkilemez. git clean
Untracked dosya ve klasörleri sistemden ve çalışma ağacından kaldırır. İndexlenmiş ve tracked dosyaları etkilemez. git clean
Verilen dosyayı değişiklikleri tutarak untracked alanına taşır. Dosyalar sistemden silinmez. Yeni dosyalar için -f
eki kullanılır. Untracked dosyaları etkilemez. git rm
Verilen dosyayı sistemden kaldırır ve çalışma ağacında gösterir. Untracked dosyaları etkilemez. git rm
İndexlenmiş dosyalari indexten kaldırıp, geldikleri yere geri koyar. Dosya değişiklikleri olduğu gibi kalır. git reset
Verilen indexlenmiş dosyayı indexten kaldırıp, geldiği yere geri koyar. Dosya değişiklikleri olduğu gibi kalır. git reset
Commit kayıtlarında "n" (1,2,3...) kere geri gider ve değiştirilen tüm dosyaları index alanına geri koyar. O andan onceki ve sonraki tüm commit kayıtlarındaki değişiklikler olduğu gibi kalır. Örnek: eğer 3. committen 1. commite geri dönülüp, tekrar commit işlemi gerçekleştirilirse, commit 2 ve 3 kayıtlarından kaldırılır çünkü onlar artık commit 1'in içine geçmiş olurlar. git reset
Aktif olan daldaki tüm yapılanları siler. Kurtarma gibi bir ihtimal olmaz. git reset
Commit kayıtlarında "n" (1,2,3...) kere geri gider ve o verilen daldaki tüm değişiklikleri kaldırır. Kurtarma gibi bir ihtimal olmaz. Örnek: eğer 3. committen 1. commite geri dönülürse, commit 2 ve 3 kayıtlarından kaldırılır. git reset
Verilen commit üzerine kurulu, yeni bir dal yaratır. Gösterilen hash-id
'yi bulmak için git reflog
komutunu kullanmanız gerekir. git checkout
Verilen commit üzerine kurulu, yeni bir dal yaratır. Gösterilen hash-id
'yi bulmak için git reflog
komutunu kullanmanız gerekir. git branch
En son yapılan commit işlemin id/hash nosunu verir. git-ls-remote
Verilen commit'in ne yaptığını gösterir. Yapılan tüm değışiklikleri tek tek gösterir. git-show
Verilen commit içinde hangi dosyaların değiştirildiğini gösterir. git-show
Verilen dosya ile ilgili yapılan tüm değişiklikleri, en yeniden en eskiye doğru listeler. git-log
Remote repository içindeki belirlenen branchı siler. git-push
Eğer yanlışlıkla yerel ortamdaki remote repository bilgilerini rm -rf .git
ile ve başka bir şekilde silerseniz, yerel değişiklikleri push yapmak istediğinizde, "fatal: 'origin' does not appear to be a git repository" ve "fatal: Could not read from remote repository" hatalarını alırsınız. Bu komut işte o sorunu çözer. git-remote
Sadece commit ID ve mesajlarını gösterir. git-log
Git commit geçmişini grafiksel olarak ekrana döker.
Değişikliklerde belirli bir metin içeren tüm commit IDleri listeleyin.