【发布时间】:2015-06-26 07:31:59
【问题描述】:
我可以通过这个命令知道git签入的合并日期:
git log --after='2015-05-12' --merges
它将显示 2015 年 5 月 12 日之后的修订历史记录。
有什么方法可以将它与 git archive 结合起来吗?
目标是:
将 2015 年 5 月 12 日之后合并的所有修改文件导出为一个 文件夹位置。
提前谢谢你!
【问题讨论】:
我可以通过这个命令知道git签入的合并日期:
git log --after='2015-05-12' --merges
它将显示 2015 年 5 月 12 日之后的修订历史记录。
有什么方法可以将它与 git archive 结合起来吗?
目标是:
将 2015 年 5 月 12 日之后合并的所有修改文件导出为一个 文件夹位置。
提前谢谢你!
【问题讨论】:
嗯,我认为您的目标可以通过以下步骤实现:
git log --after='2015-05-12' --merges --pretty=format:%H(有更简单的方法可以做到这一点,但没关系)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
【讨论】: