1

我有一个工作目录~/gitrepo/(这是.git文件夹所在的位置,我的所有其他文件和往常一样)。

我有一个旧的提交,我知道其 SHA-1 哈希。其中有一个文件foo.cpp,我现在想将它带回另一个目录(只是为了不弄乱我的工作树),例如这里:

~/Desktop/foo.cpp

这个怎么做?

4

3 回答 3

2
git checkout SHA -- foo.cpp
cp foo.cpp ~/Descktop/foo.cpp

之后,您将进行编辑foo.cpp,因此您可能想将其恢复为git reset或其他内容。

于 2013-05-12T16:58:38.807 回答
0

你可以在 github 网站上找到你的提交,然后从那里下载你想要的文件。

于 2013-05-12T17:04:01.950 回答
0

这就是我为获取 Informix 4GL 文件的旧副本所做的工作。首先,我将 re_trnfunc.4gl 复制到 re_trnfunc.4gl.sav,因为我以前从未尝试过。

然后,我输入:

git log --shortstat --pretty

我寻找与告诉我我想要哪个版本的评论相对应的承诺。

commit 6fbe9303e7f80150fdf6abdc8f926a802f8a171e
Author: Charles M. Norton <someone@somewhereville.com>
Date:   Wed Jul 1 14:13:58 2015 -0400

    Put in new re payment distro order, interest, charges, and principal.

 1 files changed, 34 insertions(+), 30 deletions(-)

然后我进入(如@ДМИТРИЙ МАЛИКОВ 的回答所示)

git checkout 6fbe9303e7f80150fdf6abdc8f926a802f8a171e -- re_trnfunc.4gl

我检查了该文件,将其保存在其他地方,然后需要将 re_trnfunc.4gl 放在结帐前的状态。

我进入了:

git reset HEAD re_trnfunc.4gl

我可以通过--

git checkout 6fbe9303e7f80150fdf6abdc8f926a802f8a171e -- temp_re_trnfunc.4gl

命令。

于 2015-07-02T17:15:57.303 回答