Как я могу получить время (в часах или днях) между первым и последним коммитом в git? Если я хочу, например, узнать, как долго я работаю с проектом.
Заимствование из отображения разницы во времени :
function displayDuration { local T=$1 local Y=$((T/60/60/24/365)) local D=$((T/60/60/24%365)) local H=$((T/60/60%24)) local M=$((T/60%60)) local S=$((T%60)) (( $Y > 0 )) && printf '%d years ' $Y (( $D > 0 )) && printf '%d days ' $D (( $H > 0 )) && printf '%d hours ' $H (( $M > 0 )) && printf '%d minutes ' $M (( $D > 0 || $H > 0 || $M > 0 )) && printf 'and ' printf '%d seconds\n' $S } displayDuration $(expr $(git log --pretty=format:%at | head -1) - $(git log --reverse --pretty=format:%at | head -1))