问题如下:如何从git中的先前提交中获取一些文件?
我可以逐个获取文件并用旧版本替换它们:
git show <commit>:<path> >! path
Run Code Online (Sandbox Code Playgroud)
但是,我想知道是否有不同的方式来执行同样的事情,可能与git reset.
事实上,我收集了这一点
git reset <commit> <path>
Run Code Online (Sandbox Code Playgroud)
将旧文件放入索引中.但是如何将索引中的文件移回工作树?或者这是一个糟糕的方法?
PS:有一个很好的图形解释,使一切都清楚:http://marklodato.github.com/visual-git-guide/.
要将给定修订的文件一步放入索引和工作树,请查看:
git checkout <commit> <path>
Run Code Online (Sandbox Code Playgroud)
如果您已将其仅放入索引中,则使用git reset <commit> <path>,则无需指定提交:
git checkout <path>
Run Code Online (Sandbox Code Playgroud)
也就是说,默认情况下,git checkout <path>从索引到工作树的副本,但如果提供了修订参数,它将首先从那里复制到索引中.