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

これは、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 に答える
0

github Web サイトでコミットを見つけ、そこから必要なファイルをダウンロードできます。

于 2013-05-12T17:04:01.950 に答える