2012-09-04 11 views
34

私はAmazon EC2マシンを持っています。このマシンでgithub repoの古いバージョンをクローンしたいと思います。通常は私はgitクローンを使用しますhttps://linktomyrepo.git 14日前からのアップデートと言うと、古いバージョンをどのようにクローンすることができますか?私は、リポジトリのコミット履歴に必要な正確なバージョンを見ることができますが、EC2マシンにそれをクローンする方法はわかりません。各コミットの隣に小さなSHAコードを使用する必要がありますか?github repoの古いバージョンをクローニング

答えて

43

コミットハッシュを使用して、いつでも好きな状態をチェックアウトすることができます。

例えば、ログを調べると、233ab4efがあなたが興味を持った状態であることがわかったので、git checkout 233ab4efを発行してその状態をチェックアウトします。

これを達成するための別の方法は、そのように設計されていませんgit checkout @{14.days.ago}

+0

「git checkout @ {14.days.ago}」の「14」は何ですか? – Shafizadeh

+0

数日前にクローンを探しているようです。それがあなたが求めていたものでないならば、謝罪してください。これは、私がこの権利を読んだ場合、「今日から14日前のように見えるものに基づいてレポを複製する」と言われています。 – jrb

25

にGitを使用することです。リポジトリを複製すると、すべてのバージョンがコピーされます。

まず最初にリポジトリをクローンして(最初は最新のバージョンをチェックアウトしています)、次に実際に必要なバージョンをチェックアウトします。

ハッシュに基づいてコミットをチェックアウトすることができます。

git checkout afe52 

あなたはまた、(代わりにハッシュを見上げるの)日付に基づいてチェックアウトすることができ、例えば:

git checkout '[email protected]{1979-02-26 18:30:00}' 
git checkout @{14.days.ago} 

あなたがチェックアウトすることができますコミットを確認するには、git logを使用しています。

+1

何千ものコミットがある場合はどうなりますか?すべてのタグ付きリリースを表示する最も速い方法は何ですか?バージョン1,2,3などのように言ってください。 – anon58192932

+1

@ anon58192932あなたが 'git tag'を使うことができるすべてのタグを表示し、その特定のタグの詳細を表示するには、' git cat-file tag TAG_NAME'を私はコミット文字列 '0974fc6a25c343744235331eb20d31f6412ff7e1'を表示するために、ノードリポジトリに' git cat-file tag v4.4.7'を使うことができました。 :) – Dobz

関連する問題