Git 如何签出除文件夹外的给定修订,然后返回到以前的状态?

Git 如何签出除文件夹外的给定修订,然后返回到以前的状态?,git,version-control,Git,Version Control,我的目标是,给出一个修订哈希标记列表,比较它们在单个测试中的性能 测试将被放置在同一存储库中的一个文件夹中,并且在我签出不同的修订时(所有人都知道他们需要在那里运行测试)不必更改 我最初的想法是使用git log的第一行获取当前哈希,然后git checkout然后git checkout,运行测试,然后git checkout。但是这会导致中的文件出现各种各样的问题,这些文件不在旧版本中 任何解决方案都将不胜感激。这是难以置信的低技术,但请将测试文件夹复制到某个地方,更新,复制回测试文件夹。冲

我的目标是,给出一个修订哈希标记列表,比较它们在单个测试中的性能

测试将被放置在同一存储库中的一个文件夹中,并且在我签出不同的修订时(所有人都知道他们需要在那里运行测试)不必更改

我最初的想法是使用
git log
的第一行获取当前哈希,然后
git checkout
然后
git checkout
,运行测试,然后
git checkout
。但是这会导致
中的文件出现各种各样的问题,这些文件不在旧版本中


任何解决方案都将不胜感激。

这是难以置信的低技术,但请将测试文件夹复制到某个地方,更新,复制回测试文件夹。冲洗并重复您要测试的每个版本。

以“”为例,您可以尝试设置:

git update-index --skip-worktree -- path/to/your/test/script
然后您应该能够为您的回购签出任何SHA1,并且它应该忽略并忽略您的测试脚本。
(要取消:
git更新索引--不跳过工作树--path/to/your/test/script