将Git repo从许多时间戳导出到新的时间戳目录?

时间:2014-01-24 11:48:45

标签: git

我不记得哪个提交是某个阶段:现在我需要将所有提交导出到不同的目录来测试它们。如何将具有不同时间戳的所有存储库导出到新目录?

enter image description here

2 个答案:

答案 0 :(得分:1)

我会通过使用Git UI来解决这个问题,而不是检查每次提交。

例如,使用SourceTree,您可以单击每个提交(它是图中的一个节点)并立即查看该节点的增量和/或该节点的代码状态 - 而无需检查整个提交出。我想这样一来,如果你知道你所寻找的是什么,你会很快找到你正在寻找的提交。

如果您需要实际构建和测试每个提交,这对您来说不是一个有用的建议(我将尝试单独解决该问题)。

答案 1 :(得分:1)

我还没有找到一个有效的解决方案,但下面是Freenode的Git的一些建议。也许最简单的方法是git stash并在每个命令之后测试文件。

Git-bisect查找过去十次提交中的错误(需要正确的错误处理)

$ git bisect start HEAD HEAD~10 --   # culprit is among the last 10
$ git bisect run ~/test.sh
$ git bisect reset                   # quit the bisect session

获取提交哈希的Git日志

git log --pretty=format:%H  HEAD~10..HEAD | while read i; do git checkout $i; ./test.sh; done

Git Archive用于导出(手动工作,不确定是否导出所有内容)