2010-12-29 13 views
2

私は素晴らしいGit for Windowsを使用しています。古いバージョンのファイルを取得したいのですが。つまり、プレビューでコードを表示するだけでなく、ファイル全体を取得したいということです。Git for Windows:古いバージョンのファイルを入手できますか?

+0

一部のWindowsユーザーにとっては、Tortoise Gitを使用するのが便利な学習ツールです。最後の手段として使用しますが、かなりうまく動作します。さらに、Tortoiseを後で使用する必要がないように、タスクを達成するために使用しているコマンドを表示します。さらに、Tortoiseは必ずしもそれを達成する最も簡単な方法を使用するとは限りませんが、正しい道を進むためには良い方法です。 – vcsjones

答えて

4

これを行う最も簡単な方法は、必要なファイルのハッシュでリビジョンをチェックアウトするか、変更して元に戻すことです。

使用gitkあなたが興味を持っていることをコミットのハッシュを見つける。

その後、git checkout hashhereを使用することができます。これにより、リポジトリ全体がそのハッシュに戻されます。

特定のファイルが必要な場合は、git checkout hash filepathを使用してください。例えば

git checkout 4fda14eefe0388e836aac8feaca68ab18bfad6b1 path/to/file.c 

あなたがしたいすべてのファイルを参照してくださいし、どこか別の場所にそれを保存し、git showはそれを行うことが可能である、git show hash:filepathされている場合は、パイプそれが出てどこかに保存したいですそれ:

git show 4fda14eefe0388e836aac8feaca68ab18bfad6b1:path/to/file.c > savetohere.txt 

あなたはまた、同様に、戻ってリビジョンの数を指定するには、ツリーっぽい使用することができます。

git show master~2:path/to/file.c > savetohere.txt 

基本的には、「masterブランチの2つ前のリビジョンで、path/to/file.cファイルを表示し、その結果をsavetohere.txtにパイプします。

+2

パラメータが反転しています。 "git checkout filepath hash"ではなく "git checkout hash filepath"です。 –

+0

Yikes!ありがとう!修正する。 – vcsjones

+0

私が1つのファイルをチェックアウトすると、私のレポジトリに影響しませんか?私が望むのは、リビジョンyのファイルxのコピーです。現在のリビジョンを古いリビジョンに置き換えないでください。 – mmersz

関連する問題