Chcę wiedzieć, czy istnieje sposób na ustawienie flagi domyślnie dla polecenia git. W szczególności chcę ustawić --abbrev-commit
flagę, aby podczas wykonywania git log
chcę wykonać git log --abbrev-commit
.
W przeciwieństwie do pytania „ czy istnieje sposób na ustawienie domyślnej flagi dla polecenia git? ”, Najwyraźniej nie ma flagi konfiguracyjnej do dodania --abbrev-commit do git log. Ponadto podręcznik git stwierdza, że nie mogę utworzyć aliasu: „Aby uniknąć nieporozumień i problemów z używaniem skryptów, aliasy ukrywające istniejące polecenia git są ignorowane”
Moją trzecią opcją jest wymyślenie nowego aliasu, takiego jak glog=log --abbrev-commit
w moim pliku .gitconfig. Ale wolałbym nie wymyślać własnego DSL z nowymi poleceniami.
Czy jest inny sposób na osiągnięcie tego, aby abbrev-commit
flaga była ustawiona domyślnie?
Odpowiedzi:
Od wersji 1.7.6 git, konfiguracja git zyskała opcję log.abbrevCommit, którą można ustawić na wartość true. Tak więc odpowiedzią jest aktualizacja do co najmniej 1.7.6 (aktualna w chwili pisania tego tekstu to 1.7.11.4) i użyj:
źródło
git config --help
lubgit help config
uzyskać dokumentację pasującą do twojej instalacji .Możesz użyć formatu niestandardowego, aby domyślnie
git log
naśladować--abbrev-commit
:źródło
log.abbrevCommit
ustawienie wpłynęło na inne, bardziej szczegółowe formaty, które mi się nie podobały.%C(auto)%h %s
Służy również do uzyskania normalnego formatu online z automatycznym kolorowaniem. Użyłem,git config --global format.pretty "%C(auto)%h %d %s"
ponieważ chciałem ozdobić go na linii jako moje „domyślne”W git nie ma ogólnego mechanizmu ustawiania domyślnych argumentów dla poleceń.
Możesz użyć aliasów git, aby zdefiniować nowe polecenie z wymaganymi argumentami:
Wtedy możesz biec
git lg
.Niektóre polecenia mają również ustawienia konfiguracyjne umożliwiające zmianę ich zachowania.
źródło
git lg
alegit log
VonC już zasugerował w swojej odpowiedzi opakowanie po muszli; oto moja implementacja Bash takiego opakowania. Jeśli umieścisz to np. W swoim
.bashrc
, twoja interaktywna powłoka będzie obsługiwać nadpisywanie wbudowanych poleceń Git, jak również aliasów pisanych dużymi literami.Możesz wtedy nadpisać
git log
, umieszczając skrypt nazwanygit-log
gdzieś w swojej PATH:źródło
Mam podobny problem (wiele domyślnych opcji poleceń Gita jest głupich). Oto moje podejście. Utwórz na swojej ścieżce skrypt o nazwie „grit” (lub cokolwiek innego) w następujący sposób:
Bardzo proste w czytaniu i utrzymaniu, na wypadek, gdybyś musiał udostępnić go nie-ekspertom Bash.
źródło
git
przez dodanie pierwszej kolejce prawdziwą ścieżkę polecenia:thegit=`/usr/bin/which git`
. I dodałem opcję, aby anulować nadpisania literą x przed poleceniemgit x log ...
:if [ "$cmd" = "x" ]; then; $thegit $@
.Podoba mi się ten
git log --oneline
format. Aby uzyskać to jako domyślne, użyjgit config --global format.pretty oneline
Źródło: https://willi.am/blog/2015/02/19/customize-your-git-log-format/
źródło
Każde narzędzie, którego używamy (svn, maven, git, ...) jest zawsze zawarte w pliku .bat (w systemie Windows lub .sh w systemie Unix), aby zaoferować naszym programistom jeden katalog do dodania do ich ścieżki.
Jeśli git jest zamknięty w skrypcie opakowującym, to ... wszystko jest możliwe.
Ale to pozostaje rozwiązanie powiązane z konfiguracją użytkownika, a nie połączone z samym Gitem ani repozytorium git.
źródło