问题如下:如何在 git 中从之前的提交中获取一些文件?
我可以一个一个地获取文件并用它们的旧版本替换它们:
git show <commit>:<path> >! path
但是,我想知道是否有不同的方式来执行相同的操作,可能使用 git reset
。
其实我是这么认为的
git reset <commit> <path>
将旧文件放入索引。但是如何将索引中的文件移回工作树呢?或者这是一种糟糕的方法?
PS:有一个很好的图形解释,使一切都清楚:http://marklodato.github.com/visual-git-guide/ .
最佳答案
要一步将给定修订版中的文件放入索引和工作树中,请检查它:
git checkout <commit> <path>
如果您已经将其仅放入索引中,请使用 git reset <commit> <path>
, 然后不需要指定提交:
git checkout <path>
也就是说,默认情况下,git checkout <path>
从索引复制到工作树,但如果提供修订参数,它将首先从那里复制到索引中。
关于Git:如何将工作文件重置为其索引版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3707795/