如何“提取”我提交的文件?

时间:2017-06-15 06:22:51

标签: linux git

我的工作目录file1.c中有两个文件file1.h/tmp/working。我所做的一切都在我的本地文件系统上。

我在git init中执行/tmp/working,在其中创建了一个.git目录。然后我git add file1.*git commit -m "Feb 13th 2017"

2月17日,我意外删除了工作目录中的两个文件。如何从我的本地git存储库恢复工作目录中的文件?我不想撤消上次提交或类似的事情,只想将我的文件副本(2月13日的版本)放回我的工作目录。

1 个答案:

答案 0 :(得分:2)

您可以尝试从最新提交中检出这两个文件:

git checkout -- path/to/file1.c
git checkout -- path/to/file1.h

关于Git的好处是很难搞清楚事情。您只在当前提交中本地删除了这两个文件。但是使用git checkout可以轻松访问他们的历史记录。

实际上,任何路径都有效:

git checkout -- path/to/    # extracts the whole "path/to" directory
git checkout -- .           # extract all the content of the last commit

您还可以指定任何提交:

git checkout other_branch -- path/to/   # extracts content from other_branch
git checkout v1.7.3 -- path/to/         #                  from this tag
git checkout eacf33b -- path/to/        #                  from this commit