Ich benutze Git auf einem Shared-Hosting-Plan, der eine Linux-Distribution läuft. Da es freigegeben ist, habe ich keinen Zugriff auf sudo
. Die Maschine hat bereits die git-Version 1.7.1
in /usr/bin/
installiert, aber diese Version ist an dieser Stelle eher prähistorisch. Ich habe bereits make install
verwendet, um die aktuelle Version 2.14.1
zu erhalten, die in ~/git-2.14.1/
ist. Wie von this answer detailliert, kann ich die richtige Version von git aus dem Zeilenbefehl wie so zugreifen:Verwenden Sie Git-Verknüpfungen mit einer neuen Version, überschreiben alten
$ git --version
git version 2.14.1
, die eine einfache Änderung an den $PATH
Variable war, in den ~/.bash_profile
, so kann ich git ganz gut verwenden.
Ich habe eine Liste von Verknüpfungen in meiner ~/.gitconfig
-Datei, die git viel schneller macht für mich zu gebrauchen:
[alias]
co = checkout
st = status
ci = commit
... etc etc etc
Wenn ich rufe diese (zB git st
), erhalte ich die Ergebnisse aus der falschen Version von git . Es geht zurück auf 1.7.1
. Wenn ich den vollständigen Befehl (z. B. git status
) austippe, wird die richtige Version von Git verwendet.
Ich habe diese Befehle auch in meinem ~./bashrc
:
git() {
case "$*" in
st*) shift 1; command ~/git-2.14.1/git status "[email protected]" ;;
*) shift 1; command ~/git-2.14.1/git "[email protected]" ;;
esac
}
, die ich source
seit Schreiben -ed.
habe ich auch versucht:
alias git="~/git-2.14.1/git"
ohne Erfolg.
Gibt es eine Möglichkeit, diese Abkürzungen mit meiner bevorzugten Version von Git zu verwenden? Ich stelle mir eine Möglichkeit vor, die Konfigurationsdatei von der anderen Version zu verbergen, indem ich den Zeiger an einen anderen Ort umlenke, aber ich weiß nichts über die Existenz eines solchen Zeigers.
Alternativ gibt es eine Möglichkeit, die vorherige Version von git ohne root
Zugriff vollständig zu deaktivieren?
Nice find mit 'GIT_EXEC_PAT' (das habe ich in https://stackoverflow.com/a/43432410/6309 beschrieben). +1 – VonC