0

有没有办法查看和提取 git 存储库中所有提交和所有分支中的所有图像?例如,在一个分支中,我添加一个图像 x.jpg 并提交它,然后我删除该图像并添加一个新的 y.jpg 并提交它。如果我回到第一个提交,在存储库中仍然有关于 x.jpg 的信息。我想查看不同提交和不同分支中的所有图像文件。有没有办法做到这一点?无需返回旧提交来查看每个文件的文件。

4

2 回答 2

3
git rev-list --all --objects

将为您提供历史上所有内容的列表,您可以根据其显示的内容做任何您喜欢的事情,这git show是将 blob 的内容放在您喜欢的任何地方的简单方法。所以例如

git rev-list --all --objects \
| sed -nr 's/([^ ]*) (.*)\.(jpg|jpeg|png|bmp)$/git show \1 >"\2-\1.\3"/p'

将打印命令以删除工作树中这些图像类型文件的所有历史版本。

于 2020-04-12T03:15:57.953 回答
-2

git log 将为您提供有关您的提交历史记录的信息,您可以使用 git reset --head "commitId" 转到上一次提交我强烈建议小心使用 git reset

于 2020-04-12T01:36:29.733 回答