- Commit karşılaştırma, eski branch’leri silme ve alias yazarak zamandan tasarruf etme yöntemlerine göz atın
- Git alias’ları
- Günlük kullanılan komutlara alias (takma ad) vererek terminalde çalışma süresinden tasarruf edin
- Örneğin:
git checkout master yazmak yerine co master girin
- Komutları düzenlemek veya eklemek için
~/.gitconfig dosyasını doğrudan düzenleyin
- Komut isteminde depo durumunu kontrol etme
- Depo durumunu görmek için
git-prompt.sh çalıştırın
- Linux kullanıyorsanız ve Git’i bir paket yöneticisiyle kurduysanız, bu dosya zaten
/etc/bash_completion.d/ dizininde bulunuyor olabilir
- Komut satırında commit karşılaştırma
git diff komutunu kullanarak aynı dosyanın sürümleri arasındaki veya commit’ler arasındaki farkları karşılaştırın
- Diff’i daha görsel bir araçla karşılaştırmak isterseniz
git difftool kullanabilirsiniz
- Meld: diff’i görsel olarak karşılaştırmak için yararlı bir görüntüleyici/düzenleyici
- Commit edilmemiş değişiklikleri stash’lemek
- Tamamlanmamış bir özelliği commit etmek istemediğinizde ve mevcut değişiklikleri olduğu gibi saklamanız gerektiğinde, değişiklikleri geçici olarak kaldırmak için
git stash komutunu kullanın
- Düzenlemeyi bitirip önceki değişikliklere dönmek için
$ git stash pop çalıştırın
- Sık sık pull yapın
- GitLab Flow kullanıyorsanız yeni işleri feature branch üzerinde yaparsınız
- Özelliği geliştirme süresine bağlı olarak
master branch’inde birçok değişiklik birikebilir
- Kod çakışmalarının büyümesini önlemek ve branch’i
master ile daha kolay merge edebilmek için, değişiklikleri master branch’inden çalışma branch’inize sık sık alın
- Komut otomatik tamamlama
- Otomatik tamamlama betiklerini kullanarak bash, tcsh ve zsh üzerinde komutları kolay ve hızlı kullanabilirsiniz
git pull yazmak için git p gibi sadece ilk harfleri girip Tab’a basın
- Kullanılabilir tüm komutları görmek için terminale
git yazıp ardından Tab+Tab’a basın
- Global
.gitignore ayarlama
.DS_Store veya Vim swp gibi dosyaları commit etmek istemiyorsanız bunu global .gitignore dosyasında ayarlayabilirsiniz
- Git’in autosquash özelliğini varsayılan olarak kullanma
- Autosquash kullanırsanız etkileşimli rebase sırasında commit’leri daha kolay squash edebilirsiniz
- Bunu her rebase işleminde
git rebase -i —autosquash ile etkinleştirebilirsiniz, ancak varsayılan olarak açık tutmak daha pratiktir
- fetch/pull sırasında remote’tan silinenleri local branch’lerden de temizleme
- Remote depoda artık olmayan branch’ler local deponuzda kalmış olabilir
- Bunları her fetch/pull işleminde silmek için
$ git config —global fetch.prune true
- Git blame’i daha verimli kullanma
- Git blame, bir dosyada hangi satırı kimin değiştirdiğini bulur
- Seçenekler
$ git blame -w # boşlukları yok say
$ git blame -M # metin taşımalarını yok say
$ git blame -C # başka dosyalara taşınan metni yok say
- Alias ekleyerek merge request’i local’e checkout etme
- Merge request, deponun tüm geçmişini ve MR ile ilişkili branch’e eklenen commit’leri içerir
- Kaynak proje, hedef projenin bir fork’uysa yayımlanmış merge request’i local olarak checkout edebilirsiniz
- HEAD için alias
@, HEAD ile aynıdır. Rebase yaparken kullanırsanız işiniz çok daha kolaylaşır
- Dosyaları geri alma (reset)
- Kodda değişiklik yaparken mevcut düzenlemelerde sorun olduğunu fark ederseniz dosyaları geri almanız gerekir
- Düzenlenen her şeyi tek tek geri almak yerine, dosyayı bu branch’in
HEAD durumuna reset edebilirsiniz
- Örnek)
$ git reset —hard HEAD
- Yalnızca tek bir dosyayı geri almak için şu komutu çalıştırın
- Örnek)
$ git checkout HEAD — path/to/file
git-open eklentisi
- Kullandığınız deponun barındırıldığı web sitesine hızlıca gitmek için
git-open kullanabilirsiniz
git-extras eklentisi
- Daha fazla komutla Git’in kullanılabilirliğini artırmak için
git-extras eklentisini kullanın
git info (depo bilgilerini gösterir), git effort (dosya başına commit sayısı) sağlar
Henüz yorum yok.