Слияние кода завершено, страница обновится автоматически
#!/bin/bash
read -p "请输入想要获取的日志起始日期(不输入默认取昨天):" start_date
read -p "请输入想要获取的日志结束日期(不输入默认取今天):" end_date
log_start_date=$(date -d'yesterday' +%Y-%m-%d)
if [ -n "${start_date}" ]; then
log_start_date=${start_date}
fi
log_end_date=$(date +%Y-%m-%d)
if [ -n "${end_date}" ]; then
log_end_date=${end_date}
fi
echo "开始获取${log_start_date}至${log_end_date}的git日志"
base_path=$(pwd)
# 日志文件名称
log_file="${base_path}/update_${log_start_date}_${log_end_date}.log"
# 项目目录列表(目录1 目录2 目录3)
dir_list=()
git_directory=".git/"
for dir in ${dir_list[*]}
do
cur_path="$base_path/$dir"
cd "${cur_path}" || exit
if [ ! -d "${git_directory}" ]; then
echo "${dir} not a git repository"
cd ..
continue
else
echo "" >> "${log_file}"
echo "${dir}" >> "${log_file}"
git checkout main
git pull
# 将日志做一行进行输出 格式 作者\t日期\tCommit描述 设置日期格式yyyy-MM-dd 不输出merge 在${log_start_date}之后提交的内容 在${log_end_date}之前提交的内容
# git log 指令更多用法 https://blog.csdn.net/u012260238/article/details/81673853
git log --oneline --pretty=format:'%an %cd %s' --date=short --no-merges --after="${log_start_date} 00:00:00" --before="${log_end_date} 23:59:59" >> "${log_file}"
echo "" >> "${log_file}"
fi
done
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )