2016-11-22 1 views
0

meine (vereinfacht) PS1: export PS1="\A \w\ $(__git_ps1) \$ "Bash Git Aufforderung nicht verbergen außerhalb des Repository

prompt: 16:08-~/dev (master) $

Das ist alles gut und es zeigt Zweig Namen, wenn es einen gibt. Aber außerhalb des Repos zeigt es immer noch (master) anstelle von . Ich habe wie verrückt gesucht, kann aber keine Antwort finden.

Welche Umgebungsinformationen benötigen Sie, um mir zu helfen, dies zu lösen? Ich bin noch nicht so versiert in Bash. Es muss etwas los sein. Oder stimmt etwas mit meiner Git-Version nicht?

16:08 ~/dev (master) $ git --version 
git version 2.7.4 

Vielen Dank im Voraus für einen Blick auf diese!

Antwort

4

Sie führen __git_ps1einmal, wenn Sie PS1 definieren und für jede Eingabeaufforderung später auf den gleichen Wert verwenden. Sie möchten diesen Befehl ausführen alle Mal die Eingabeaufforderung angezeigt wird, so müssen Sie die $ zu entkommen, um zu verhindern, Befehlsvertretung von sofort geschieht.

export PS1='\A \w\ $(__git_ps1) \$ ' 
+0

Sie wollen sagen: Export PS1 = '\ A \ w \ \ $ (__ git_ps1) \ $' '? Danke, das war es. Sehr schön. Bearbeitungen müssen mindestens 6 Zeichen lang sein. Wenn Sie also das '\\' zu Ihrer Antwort hinzufügen möchten, akzeptiere ich das als Lösung. – ThaJay