Wie kann ich git bash so konfigurieren, dass für jeden Befehl ein Zeitstempel angezeigt wird?

11

Ich führe git's bash unter Windows7 aus, um die Quellcodeverwaltung für Projekte zu verwalten.

Kann ich bearbeiten C:\Program Files (x86)\Git\etc\git-prompt.sh, damit ich beim Ausführen von Befehlen einen Zeitstempel erstellen kann?

zB statt

user.name@machine /c/somedirectory
$ git pull origin develop
remote: Counting objects: 1, done.

Anzeigen

user.name@machine /c/somedirectory
$ git pull origin develop
21/04/2016 20:15:33
remote: Counting objects: 1, done.

So kann ich wissen, ob etwas vor / nach einer bestimmten Zeit ausgeführt wurde.

StuperUser
quelle

Antworten:

12

Dies ist eine Lösung für Ihr Problem. Der einzige Unterschied zu dem, was Sie geschrieben haben, besteht darin, dass der Zeitstempel nach der Befehlsausgabe und nicht vorher angezeigt wird.

Öffnen Sie im Ordner "Windows-Programmdateien" Git\etc\profileoder Git\etc\profile.d\git-prompt.shsuchen Sie nach Zeilen, die wie folgt aussehen:

PS1="$PS1"'\n'                 # new line
PS1="$PS1"'\[\033[32m\]'       # change color
PS1="$PS1"'\u@\h '             # user@host<space>
PS1="$PS1"'\[\033[33m\]'       # change color
PS1="$PS1"'\w'                 # current working directory
if test -z "$WINELOADERNOEXEC"
then
    PS1="$PS1"'$(__git_ps1)'   # bash function
fi
PS1="$PS1"'\[\033[0m\]'        # change color
PS1="$PS1"'\n'                 # new line
PS1="$PS1"'$ '                 # prompt: always $

Und Zeile hinzufügen

PS1="$PS1"' \t'                # time

vor der vorletzten Zeile. Das gibt Ihnen eine Aufforderung wie:

user.name@machine /c/somedirectory 18:34:35
$ git pull origin develop
remote: Counting objects: 1, done.

user.name@machine /c/somedirectory 18:42:12
$

Hier ist eine Liste weiterer nützlicher Optionen, die Sie hinzufügen können: http://makandracards.com/makandra/1090-customize-your-bash-prompt

vedranm
quelle
Ich denke, wenn Sie die Eingabetaste drücken, um eine leere Eingabeaufforderung zu erstellen, bevor Sie das Skript ausführen, erhalten Sie möglicherweise eine Startzeit. Die Endzeit ist die nächste Eingabeaufforderung, die angezeigt wird, nachdem der Prozess ausgeführt und beendet wurde.
So
2
Ich habe eine geringfügige Abweichung verwendet, damit der Zeitstempel in einer separaten Zeile bleibt, anstatt die Bash-Befehlszeile zu überladen. PS1='[\t]'"$PS1" # time
Shiyaz
1

Win10 Git-Bash: C: \ Programme \ Git \ etc \ profile.d

PS1="$PS1"'\[\033[0m\]'        # change color
PS1="$PS1"' \D{%F %T}'         # time in ISO8601 format ←
PS1="$PS1"'\n'                 # new line
PS1="$PS1"'$ '                 # prompt: always $

\ D {Format}

   the format is passed to strftime(3)  and  the  result  is
   inserted  into the prompt string; an empty format results
   in a locale-specific time representation.  The braces are
   required

Verweise

/programming/13001902/how-to-configure-git-bash-prompt-by-adding-datetime

https://bneijt.nl/blog/post/add-a-timestamp-to-your-bash-prompt/

SimplyInk
quelle