repo 查看指定日期内,哪些仓库有修改,具体的修改详情
文章目录
- 想看指定时间段内仓库中修改了哪些具体的文件,是谁修改的,commit的备注信息等详情
- 只想看某段时间内有更改的仓库的修改详情,其他没有修改的仓库不显示。
想看指定时间段内仓库中修改了哪些具体的文件,是谁修改的,commit的备注信息等详情
如果你想查看在指定日期范围内,修改了哪些文件、是谁修改的、以及 commit
的详细备注信息,可以直接使用 git log
来展示详细的提交历史。可以修改你的命令如下:
repo forall -c 'git log --since="2024-09-01" --until="2024-09-13" --pretty=format:"Commit: %h%nAuthor: %an%nDate: %ad%nMessage: %s%n%n" --name-status --perl-regexp --regexp-ignore-case --invert-grep --author="author"'
在这个命令中:
--since="2024-09-01"
和--until="2024-09-13"
限定了时间范围。--pretty=format:"Commit: %h%nAuthor: %an%nDate: %ad%nMessage: %s%n%n"
格式化输出,包括提交哈希、作者、日期、以及提交的message
。--name-status
会列出每个提交中修改的文件以及文件的状态(如新增、修改、删除等)。
输出的格式会显示每个提交的详细信息,包括:
- Commit 哈希值
- 作者
- 提交日期
- 提交信息
- 修改文件的列表
这样,你可以一目了然地查看在每个提交中都修改了哪些文件,以及对应的提交详情。
只想看某段时间内有更改的仓库的修改详情,其他没有修改的仓库不显示。
比如要仅显示在 2024 年 9 月 1 日至 2024 年 9 月 13 日之间有更改的仓库,并显示这些仓库的修改详情,可以通过在 repo forall
中使用 git log
并过滤出有更改的仓库。
你可以使用以下命令:
repo forall -c 'if git log --since="2024-09-01" --until="2024-09-13" --pretty=format:"Commit: %h%nAuthor: %an%nDate: %ad%nMessage: %s%n%n" --name-status --perl-regexp --regexp-ignore-case --invert-grep --author="author" | grep -q .; then echo "Repository: $REPO_PATH"; git log --since="2024-09-01" --until="2024-09-13" --pretty=format:"Commit: %h%nAuthor: %an%nDate: %ad%nMessage: %s%n%n" --name-status --perl-regexp --regexp-ignore-case --invert-grep --author="author"; fi'
这个命令的工作原理:
repo forall
会遍历所有仓库。- 首先,
git log
使用--since="2024-09-01"
和--until="2024-09-13"
来过滤日期范围,并检查是否有匹配的提交 (grep -q .
判断是否有输出)。 - 如果有更改的提交,则打印出仓库路径 (
echo "Repository: $REPO_PATH"
),并执行第二次git log
显示详细的提交历史,包括每个提交的哈希值、作者、日期、提交信息和修改文件的状态。 --name-status
用于显示每个提交中被修改的文件及其状态。
这样,只有在指定时间段内有提交更改的仓库会显示出来,其他没有更改的仓库将被忽略。
结束语
Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!