Git 存档基于合并日期
Git Archive Based on Merged Date
我可以知道 git 的合并日期,使用此命令签入:
git log --after='2015-05-12' --merges
它将显示 git 2015 年 5 月 12 日之后的修订历史日志。
Is there any way to combine this with git archive?
objective 是:
Export all the modified files being merged after 12 May 2015 into one
folder location.
提前致谢!
嗯,我想你的 objective 可以通过以下步骤达到:
- 获取最后一次合并提交的 sha1:
git log --after='2015-05-12' --merges --pretty=format:%H
(有更简单的方法可以做到这一点,但没关系)
- 获取 HEAD 中更改的文件列表,因为:
git diff <sha1>..HEAD --name-only
- 将
HEAD
放入存档中,根据上一步收到的列表限制文件
如果文件数量足够小(即不超过命令行参数的限制),命令如下所示:
git diff --name-only $(git log --after='2015-05-12' --merges -n 1 --pretty=format:%H)..HEAD | \
xargs git archive --prefix changed/ -o some.tar HEAD
我可以知道 git 的合并日期,使用此命令签入:
git log --after='2015-05-12' --merges
它将显示 git 2015 年 5 月 12 日之后的修订历史日志。
Is there any way to combine this with git archive?
objective 是:
Export all the modified files being merged after 12 May 2015 into one folder location.
提前致谢!
嗯,我想你的 objective 可以通过以下步骤达到:
- 获取最后一次合并提交的 sha1:
git log --after='2015-05-12' --merges --pretty=format:%H
(有更简单的方法可以做到这一点,但没关系) - 获取 HEAD 中更改的文件列表,因为:
git diff <sha1>..HEAD --name-only
- 将
HEAD
放入存档中,根据上一步收到的列表限制文件
如果文件数量足够小(即不超过命令行参数的限制),命令如下所示:
git diff --name-only $(git log --after='2015-05-12' --merges -n 1 --pretty=format:%H)..HEAD | \
xargs git archive --prefix changed/ -o some.tar HEAD