2012-07-25 6 views
6

Auf GitHub haben Sie diese nette Funktion auf jeder Ordnerseite, listet den Dateinamen zusammen mit dem Alter der letzten Festschreibung dieser Datei auf. Dies ist ähnlich dem ls -l Befehl.git ls-dateien mit datum?

Gibt es eine Möglichkeit, dieses Verhalten von der Befehlszeile nachzuahmen? So etwas wie

git ls-files -l 

Basierend auf sjas answer Dies funktioniert für mich

ls | while read aa 
do 
    git log -1 --format="%ai $aa" "$aa" 
done 

Antwort

3
$ for a in $(ls); do git log --pretty=format:"%h%x09%an%x09%ad%x09$a" -1 -- "$a"; done 
e76b sjas Tue Jul 24 21:55:20 2012 +0200 bashscripts/ 
68af sjas Wed Jul 25 13:49:26 2012 +0200 links 
83c9 sjas Tue Jul 24 15:21:09 2012 +0200 rndm/ 
aedf sjas Tue Jul 24 15:14:12 2012 +0200 temp/ 
a643 sjas Tue Jul 24 21:48:19 2012 +0200 tips/ 
f71d sjas Tue Jul 24 19:26:20 2012 +0200 todo 

Entnommen https://stackoverflow.com/a/469238/805284

Falls dies sieht seltsam aus:
Mein SHA1 ist sind nur 4 Zahlen abgekürzt über core.abbrev=4 in meinem .gitconfig.

Aber vielleicht haben Sie Verwendung für diesen hier:

$ for a in $(ls); do git log --pretty=format:"%h%x09$a%x09%s" -1 -- "$a"; done 
e76b bashscripts/ added pushd/popd/dirs shortcuts!!! 
68af links   fastcommit 
83c9 rndm/   further cleanup 
aedf temp/   tempcommit 
a643 tips/   added disk usage script and pushd/popd annotation 
f71d todo   fastcommit 
+2

@sjas, ich bin ziemlich sicher, dass eine Copy-Paste des Bildschirmtextes ist viel einfacher als ein Screenshot/Ernte/laden! – Shahbaz

+4

Einrücken jeder Zeile vier Leerzeichen? SO hat eine Abkürzung dafür, die '{}' Code-Schaltfläche im Editor. – vergenzt