我有一个 git 存储库,其中有一个文件,几乎每天都会添加新的提交。
我想在查看对新目录的每次提交时提取文件的副本。
理想情况下,文件将根据提交时间进行日期标记( 2017_08_24.txt
)。
我已经尝试过git format-patch -o directory --root HEAD
但这会导出更改日志,而不是提交时查看的完整文件。
谢谢
最佳答案
git show <commit>:<file>
将为您提供文件的内容,因为它位于特定的提交哈希中。您可以使用git log
获取文件上的所有提交,然后使用 xargs
将它们传递给git show
.
以下命令行将提取一系列具有原始名称和连接到它们的提交哈希的文件:
$ git log --format="%H" /path/to/file | \
xargs -I % sh -c "git show %:/path/to/file > /path/to/target/filename.%"
关于Git 提取作为单独的文件提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45856034/