使用 windows cmd 将所有提交差异保存到 txt 文件
Save all commit diffs to txt file with windows cmd
任务是在本地的 gitlab 仓库中打开 Windows cmd 和
获取上个月的所有提交和
对于每个提交找到差异和
将其保存到名为:date_commitId_diff.txt
的 .txt 文件中
所以最后我想在 txt 文件中包含每个提交的差异。
我能够获得所有 ID 为:
的提交
git log --author=Piotr --date=short --before={2022-04-30} --after={2022-04-01} --pretty=format:"%h"
我也知道如何打印特定的差异 commit_id:
git show 2a62555ff
但是当我尝试对提交执行 FOR 循环时:
for /f "delims=" %i in ("'git log --author=Piotr --date=short --before={2022-04-30} --after={2022-04-01} --pretty=format:"%h'") do git show %i
我收到 'More?' 个问题...但没有看到解决方案以取得进展。
您的第一个示例使用 pretty=format:"%h"
但是你的第二次使用 --pretty=format:"%h'
: 似乎缺少一个不匹配的 "
。
我也会避免在 'git command'
周围使用双引号
for /f "delims=" %i in ('git log --author=Piotr --date=short --before={2022-04-30} --after={2022-04-01} --pretty^=format:"%h"') do git show %i
注意 --pretty^=format:"%h"
中的 ^
。
没有它,如 explained here,您将收到错误消息“fatal: invalid object name 'format'.
”。
将它们(每个差异)保存在自己的文件中:
for /f "tokens=1,2 delims= " %i in ('git log --author=Piotr --date=short --before={2022-04-30} --after={2022-04-01} --pretty^=format:^"%h %ad^"') do (git show %i > %j_%i_diff.txt)
注意 tokens=1,2 delims=
指令和新格式 --pretty^=format:^"%h %ad^"
。
任务是在本地的 gitlab 仓库中打开 Windows cmd 和 获取上个月的所有提交和 对于每个提交找到差异和 将其保存到名为:date_commitId_diff.txt
的 .txt 文件中所以最后我想在 txt 文件中包含每个提交的差异。
我能够获得所有 ID 为:
的提交git log --author=Piotr --date=short --before={2022-04-30} --after={2022-04-01} --pretty=format:"%h"
我也知道如何打印特定的差异 commit_id:
git show 2a62555ff
但是当我尝试对提交执行 FOR 循环时:
for /f "delims=" %i in ("'git log --author=Piotr --date=short --before={2022-04-30} --after={2022-04-01} --pretty=format:"%h'") do git show %i
我收到 'More?' 个问题...但没有看到解决方案以取得进展。
您的第一个示例使用 pretty=format:"%h"
但是你的第二次使用 --pretty=format:"%h'
: 似乎缺少一个不匹配的 "
。
我也会避免在 'git command'
for /f "delims=" %i in ('git log --author=Piotr --date=short --before={2022-04-30} --after={2022-04-01} --pretty^=format:"%h"') do git show %i
注意 --pretty^=format:"%h"
中的 ^
。
没有它,如 explained here,您将收到错误消息“fatal: invalid object name 'format'.
”。
将它们(每个差异)保存在自己的文件中:
for /f "tokens=1,2 delims= " %i in ('git log --author=Piotr --date=short --before={2022-04-30} --after={2022-04-01} --pretty^=format:^"%h %ad^"') do (git show %i > %j_%i_diff.txt)
注意 tokens=1,2 delims=
指令和新格式 --pretty^=format:^"%h %ad^"
。