Git iş akışını geliştiren 15 ipucu
(insight.infograb.net)- 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 masteryazmak yerineco mastergirin - Komutları düzenlemek veya eklemek için
~/.gitconfigdosyası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
- Depo durumunu görmek için
- Komut satırında commit karşılaştırma
git diffkomutunu 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 difftoolkullanabilirsiniz- 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 stashkomutunu kullanın - Düzenlemeyi bitirip önceki değişikliklere dönmek için
$ git stash popçalıştırın
- 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
- 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
masterbranch’inde birçok değişiklik birikebilir - Kod çakışmalarının büyümesini önlemek ve branch’i
masterile daha kolay merge edebilmek için, değişikliklerimasterbranch’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 pullyazmak içingit pgibi sadece ilk harfleri girip Tab’a basın- Kullanılabilir tüm komutları görmek için terminale
gityazıp ardından Tab+Tab’a basın
- Global
.gitignoreayarlama.DS_Storeveya Vimswpgibi dosyaları commit etmek istemiyorsanız bunu global.gitignoredosyası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 —autosquashile 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
@,HEADile 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
HEADdurumuna reset edebilirsiniz- Örnek)
$ git reset —hard HEAD
- Örnek)
- Yalnızca tek bir dosyayı geri almak için şu komutu çalıştırın
- Örnek)
$ git checkout HEAD — path/to/file
- Örnek)
git-openeklentisi- Kullandığınız deponun barındırıldığı web sitesine hızlıca gitmek için
git-openkullanabilirsiniz
- Kullandığınız deponun barındırıldığı web sitesine hızlıca gitmek için
git-extraseklentisi- Daha fazla komutla Git’in kullanılabilirliğini artırmak için
git-extraseklentisini kullanın git info(depo bilgilerini gösterir),git effort(dosya başına commit sayısı) sağlar
- Daha fazla komutla Git’in kullanılabilirliğini artırmak için
Henüz yorum yok.