你能用git签出未来提交的文件吗?

你能用git签出未来提交的文件吗?,git,Git,背景:我们刚刚在代码中发现了一个最近创建的bug(它并不总是存在)。我们没有自动测试。我们刚刚创建了一个。在此之后,我们还进行了一些更改,因此测试不在master的HEAD 我想知道,如果我回去,比如说30次提交,我能不能把这个新创建的测试放到我的工作目录中?这样我就可以运行一个git-bisect,并让自动测试运行,而不是为每次迭代手动检查它。我想我可以签出测试提交和重置--mixed将文件放入我的工作目录,而不在索引中,但我想知道是否有一种更简单的方法在事后添加测试。是的。你可以使用 Git

背景:我们刚刚在代码中发现了一个最近创建的bug(它并不总是存在)。我们没有自动测试。我们刚刚创建了一个。在此之后,我们还进行了一些更改,因此测试不在
master
HEAD


我想知道,如果我回去,比如说30次提交,我能不能把这个新创建的测试放到我的工作目录中?这样我就可以运行一个
git-bisect
,并让自动测试运行,而不是为每次迭代手动检查它。我想我可以签出测试提交和重置--mixed将文件放入我的工作目录,而不在索引中,但我想知道是否有一种更简单的方法在事后添加测试。

是的。你可以使用<代码> Git Cuff-Tope/to/file <代码>来检查一个文件的特定提交版本。

< P>因为你只是在寻找bug,你可以考虑简单地重写历史(在一个新的分支中),以寻找bug。 您可以
git-rebase-i
,在工作提交之后插入添加测试的提交,并让rebase将测试写入您的所有历史记录中。这样你就可以安全地平分了


如果您只想“从未来”签出测试,请确保在添加测试之前将对分限制为,否则,
git
会抱怨添加测试文件。

我实际上在询问之前尝试过这个,但它似乎不起作用。我一定是打错了什么,因为现在它正在发挥作用。在windows上使用git bash无法完成制表符。