如何在GitHub中的某个提交之前恢复文件?

时间:2011-03-08 20:02:18

标签: github

如何在GitHub中的某个提交之前恢复文件?

1 个答案:

答案 0 :(得分:2)

  1. 例如,如果要在提交f4l4fe1之前检索单个文件,则可以执行以下操作:

    git checkout f4l4fe1^ -- some/file.txt
    

    (当您在git中向ref添加^时,它表示该提交的父级。)您应该在工作树中找到some/file.txt,但请注意它也将被暂存作为改变提交。

  2. 如果您只想查看上次提交时的工作树,可以将提交检出为分支:

    git checkout f4l4fe1^
    

    这使你进入一个被称为“独立的HEAD”的状态,你不再在某个特定的分支上,所以进行新的提交不会推进任何分支。要回到master,比如说,你只需git checkout master

  3. 作为第三个选项,假设您要从该提交或整个子目录中提取整个目录,您可以使用git archive并将输出通过管道传输到tar,如:What's the best way to extract a tree from a git repository?