Saya ingin tahu apakah ada cara untuk menyetel bendera secara default untuk perintah git. Secara khusus, saya ingin menyetel --abbrev-commit
bendera sehingga saat mengeksekusi git log
, saya ingin mengeksekusi git log --abbrev-commit
.
Tidak seperti pertanyaan " adakah cara untuk menyetel flag secara default untuk perintah git? ", Tampaknya tidak ada flag konfigurasi untuk menambahkan --abbrev-commit ke git log. Lebih lanjut, git manual menyatakan bahwa saya tidak dapat membuat alias: "Untuk menghindari kebingungan dan masalah dengan penggunaan skrip, alias yang menyembunyikan perintah git yang ada akan diabaikan"
Pilihan ketiga saya adalah menciptakan alias baru seperti glog=log --abbrev-commit
di file .gitconfig saya. Tapi saya lebih suka tidak menciptakan DSL saya sendiri dengan perintah baru.
Apakah ada cara lain untuk mencapainya sehingga abbrev-commit
bendera disetel secara default ??
Jawaban:
Sejak git versi 1.7.6, git config telah mendapatkan opsi log.abbrevCommit yang dapat disetel ke true. Jadi jawabannya adalah upgrade ke setidaknya 1.7.6 (saat ini saat tulisan ini dibuat adalah 1.7.11.4) dan gunakan:
sumber
git config --help
ataugit help config
mendapatkan dokumentasi yang cocok dengan instalasi Anda .Anda dapat menggunakan format kustom untuk
git log
meniru--abbrev-commit
secara default:sumber
log.abbrevCommit
Pengaturan mempengaruhi lebih lainnya verbose format, yang saya tidak suka. Juga, gunakan%C(auto)%h %s
untuk mendapatkan format oneline normal dengan pewarnaan otomatis. Saya menggunakangit config --global format.pretty "%C(auto)%h %d %s"
karena saya ingin didekorasi secara oneline sebagai "default" sayaTidak ada mekanisme umum di git untuk menyetel argumen default untuk perintah.
Anda dapat menggunakan alias git untuk menentukan perintah baru dengan argumen yang diperlukan:
Lalu kamu bisa lari
git lg
.Beberapa perintah juga memiliki pengaturan konfigurasi untuk mengubah perilakunya.
sumber
git lg
tetapigit log
VonC telah mengisyaratkan pembungkus shell dalam jawabannya; berikut adalah implementasi Bash saya untuk pembungkus seperti itu. Jika Anda memasukkan contoh ini ke dalam
.bashrc
shell interaktif Anda akan mendukung penggantian perintah bawaan Git serta alias huruf besar.Anda kemudian dapat menimpa
git log
dengan meletakkan skrip bernama digit-log
suatu tempat ke PATH Anda:sumber
Saya memiliki masalah serupa (banyak dari opsi default untuk perintah Git bodoh). Inilah pendekatan saya. Buat skrip bernama 'grit' (atau apa pun) di jalur Anda, sebagai berikut:
Sangat mudah dibaca dan dikelola, jika Anda ingin membagikannya dengan non-ahli Bash.
sumber
git
dengan menambahkan baris pertama untuk mendapatkan jalur perintah nyata:thegit=`/usr/bin/which git`
. Dan saya menambahkan opsi untuk membatalkan menimpa dengan x sebelum perintah sepertigit x log ...
:if [ "$cmd" = "x" ]; then; $thegit $@
.Saya suka
git log --oneline
formatnya. Untuk mendapatkannya sebagai default, gunakangit config --global format.pretty oneline
Kredit: https://willi.am/blog/2015/02/19/customize-your-git-log-format/
sumber
Setiap utilitas yang kami gunakan (svn, maven, git, ...) selalu dikemas dalam .bat (di Windows, atau .sh di Unix), untuk menawarkan kepada pengembang kami satu direktori untuk ditambahkan ke jalur mereka.
Jika git dienkapsulasi dalam skrip pembungkus, maka ... semuanya mungkin.
Tetapi itu tetap merupakan solusi yang ditautkan ke pengaturan pengguna, tidak ditautkan ke Git itu sendiri atau repo git.
sumber