Neden git pull değilde git pull --rebase kullanılmalı
http://stackoverflow.com/a/7200641/1027507
Dosyaları silmeden son yapılan commiti silmek
git reset --soft HEAD~1Remoteda olup localde olmayan branchi indirip üzerinde çalışmaya başlamak
git fetch
git checkout --track origin/newFeatureRemotedan silinen fakat localde hala bulunan branchleri silmek
git remote prune originSon yapılan commit mesajını değiştirmek
git commit --amendAcil değişiklik
Bir iş üzerinde çalışırken, başka bir acil iş cıktığında üzerinde çalışılan dosyalar
stashlenerek acil olan iş halledilir. git status ile bakıldığında sanki dosyalar hiç
düzenlenmemiş gibi görünür. Acil iş yapılır commit edildikten sonra stash pop edilip eski
kalınan yerden devam edilir.
git stash
Conflict dosyalar:
-
Merge edilen branchdeki değişiklikleri kabul et
git checkout --theirs file.txt
-
Bendeki değişiklikleri kabul et
git checkout --ours file.txt
Branchler arası commit transferi
cherry-pick ile bir branchdeki bütün commitleri çekmek yerine sadece lazım olan cimmit çekilebilir.bak
Localde olmayıp remote'da olan branchi checkout etmek
$ git remote update
$ git fetch
$ git checkout -b hede origin/hedeYapılmış olan bir commite yeni değişikleri ekleme:
git ci --amend -C HEADBu inexde olan dosyaları yapılmış olan commit e ekler
Projeden silinmiş dosyaları index'e ekleme
git ls-files --deleted | xargs git rmHow to modify a specified commit
http://stackoverflow.com/questions/1186535/how-to-modify-a-specified-commit
Branchler arası diff
git diff master..feature foo.pyUntracket dosyalar hariç modified dosyaları index'e eklemek
git add -uPush edilmemiş commitleri görmek
git log --branches --not --remoteslog --stat parametresi Loglarda olan değişiklikleri loga ek olarak +- olarak görmemizi sağlıyor. Buna benzer bir kaç parametre daha var man pagelerde.
git log --statRemote urli gösterme- değiştirme
$ git remote -v
$ git remote set-url origin git://repo_address.gitÖnceden yapılmış bir commit üzerinde çalışmak
git rebase --interactive cıkan ekranda pick yazan yeri edit ile değiştirip save yap(Daha fazla seçenekte var. edit yazılan yerde o seçeneklerde var). Değişiklikler bittikten sonrada.
$ git checkout --amend
$ git rebase --continueStash'in içeriğini görmek
git stash show -p stash@{0}
Commit mesajları içinde arama yapmak
--grep=
Remote'dan silinmiş branchleri localden de silmek
$ git remote prune origin --dry-run #bul
$ git remote prune origin # silLocal branchde yapılan bütün değişiklikleri iptal etmek. Local branchi remote ile yenilemek
git reset --hard origin/myBranchEn son çalışılan branche hızlı geçiş. Bashdeki gibi
$ git checkout master
#Switched to branch 'master'
$ git checkout -
#Switched to branch 'develop'Bir branch/commit'in içindeki dosyaya bakmak:
$ git show {commit_id | branch}:contents/models.py