【发布时间】:2018-12-10 09:46:51
【问题描述】:
如何将所有提交导出到 ZIP 文件中(包含所有文件,而不仅仅是补丁/差异):
myproject-commit1-67d91ab.zip
myproject-commit2-9283acd.zip
myproject-commit3-c57daa6.zip
...
或进入目录:
myproject-commit1-67d91ab/
myproject-commit2-9283acd/
myproject-commit3-c57daa6/
?
我在考虑类似的命令:
git archive --format zip --output myproject-commit3.zip c57daa6
来自How do I export a specific commit with git-archive?,但是如何获得所有提交?
注意事项:
目标是导出每次提交的所有文件,这样即使机器上没有
git也可以访问它们 p>来自How can I export Git change sets from one repository to another via sneaker net (external files)? 的答案创建了一个
.bundle文件,但没有git似乎无法访问它,所以这不是我要找的东西-
这几乎可以工作:
for ((i = 0;; ++i)); do git checkout master~$i || break; tar czf ../myproject-commit$i.tgz .; done但它也会归档当前目录中不是的所有文件
git added to repo...如何避免这个问题?
【问题讨论】:
-
试试
git bundle。它创建了一个像只读存储库一样工作的包。见git-scm.com/docs/git-bundle -
@phd 来自stackoverflow.com/questions/49101425/… 的答案创建了一个
.bundle文件,但没有git似乎无法访问它,所以这不是我要找的。span> -
你没有解释你想要什么。你应该从一开始就这样做。嗯,
git archive似乎是答案,不,没有单一的命令。 -
@phd 谢谢你的评论,我认为说我想将每个提交导出到 zip 文件
myproject-commit3-67d91ab.zip已经足够明确了,但现在我进行了编辑以添加更多细节。
标签: git export git-archive