我是git的新用户。 我在我的终端上使用git。 我必须检查一个项目,看看谁是过去六个月或六个月以上不活跃的贡献者。 我尝试了许多命令,但我找不到答案。 所以基本上我需要打印超过6个月没有参与项目贡献的人的姓名 感谢
答案 0 :(得分:2)
尽可能按照字面意思提出问题,这里有一个BASH脚本,可以获取过去6个月内所有作者的姓名。
#!/bin/bash
since=$(date -d"-6 months" +%Y-%m-%d)
git shortlog -sn | awk '{$1=""; print $0}' > /tmp/herolist
while read author; do
if [[ $(git log --after=$since --author="$author") == "" ]]; then
echo $author
fi
done < /tmp/herolist
编辑以显示过去六个月内 n 承诺的人。
答案 1 :(得分:1)
您会看到某个贡献者在特定日期(过去6个月)之后是否有任何提交:
git log --after="yyyy-mm-dd" --author="email or name"
如果命令结果为空,则没有提交
答案 2 :(得分:1)
更为文字的答案,因为问题是提交者而不是作者。也没有使用临时文件。但仍有改进的余地。
#! /bin/bash
IFS=$'\n'
limit=$(date --date='-6 month' +"%d-%m-%Y")
committers=$(git log --pretty=format:"%cn" | sort -u | uniq -u)
recent_committers=$(git log --pretty=format:"%cn" --after $limit | sort -u | uniq -u)
for i in ${recent_committers[@]}; do
committers=( "${committers[@]/$i}" )
done
printf -- "%s\n" "${committers[@]}"
答案 3 :(得分:0)
您可以使用漂亮的格式化选项获取所有提交的时间戳和作者:
git log --pretty="%at:%an:%ae"
您可以使用%at
并获取unixtime,然后使用它来排序和“唯一”&#39;数据 - 如果您希望查看人类可读日期,则可以使用%ai
或%aD
。