2013-05-22 27 views
2

说我想从几个提交之前检索旧版本的文件(filename.html)。难道我就在想,我需要做的使用Git检索旧版本的文件

git checkout sha -- filename.html 

(其中SHA是对哈希提交我想)

但这将该文件放在我的分期指标,而不是我的工作目录,右键?所以,如果我现在运行git commit我的回购将更新到旧的文件,但我的工作目录仍然会有更新的文件(我不会再这样做)。

我想我可以做一个git checkout -- filename.html让两个同步,但这是最好的办法吗?这个过程看起来像是一个很快就会变得混乱的一个过程。有没有办法让旧版本的filename.html返回到我的工作目录中,而不会在我的暂存索引中“卡住”?

谢谢。

回答

1

但是,这将文件放在我的登台索引,而不是我的工作目录,对不对?

它将把那个旧版本索引工作树。

如果我现在运行git提交我的回购都将更新为使用旧文件放回原处,但我的工作目录仍会有较新的文件

否,则其旧版本该文件。

我想我可以做一个git结帐 - filename.html拿到两回同步,但做这种方式吗?

要返回到最新版本,你就必须:

git reset HEAD -- filename.html # remove it from the index 
git checkout -- filename.html # restore latest 
1

如果你只是想看看文件,并且不打算提交它,你可以简单地说

git show sha1:filename