2011-10-20 19 views
98

GitHubからFacebook APIをダウンロードする必要があります。通常、最新のソースコードをダウンロードするには、[ダウンロード]タブをクリックしてください。この場合、私はより古いコミットが必要です:91f256424531030a454548693c3a6ca49ca3f35aしかし、私はそのコミットからプロジェクト全体を取得する方法がわかりません...GitHubプロジェクトからコミットする方法

誰かが(Mac上ところで、イムそれはどんな違いがあれば知ってはいけない。)これを行う方法を

を教えてくださいでき

+1

また、「圧縮」が必要な場合は、http://stackoverflow.com/questions/13636559/how-to-download-zip-from-github-for-a-particular-commit-shaを参照してください。 -snapshot-code "と入力します。 –

+1

あなたの受け入れられた答えを変更することを検討するべきです、最も賞賛された答えははるかに簡単です。 –

答えて

138

まず、gitのを使用してリポジトリのクローンを作成し、例えばと:?。

git clone git://github.com/facebook/facebook-ios-sdk.git 

これは、レポの完全な履歴をダウンロードします。あなたはどんなバージョンにも切り替えることができます。あなたは、もはやじゃないんだから、あなたに警告を与えること

git checkout 91f25642453 

:コミット

cd facebook-ios-sdk 

...と右に変更するgit checkout <COMMIT>を使用します。次に、新しくクローニングされたリポジトリに変更特定のバージョンに直接切り替わっています。これは、「分離されたHEAD」状態として知られています。このSDKを積極的に開発するのではなく、このSDKを使用したいと思ったように聞こえるので、これは気にする必要はありません。 gitの仕組みについて

+4

ファイルを欲しい場合は、この時点で 'git export'することもできます。 – Xeoncross

103

この質問を投稿したときにそれがあったかどうかわかりませんが、コミットをダウンロードするには、リポジトリを表示するときにコミットタブをクリックするのが一番簡単な方法です。そして、代わりにコミット名をクリックすると、そのコミット名前/メッセージ、そして最後にダウンロードZIPにボタンの右側に<>シンボルと歴史ボタンで、この時点でブラウズ上のリポジトリをクリックしてくださいクローンをクリックするか、ボタンをダウンロードすると表示されます。

私はそれがあなたを助けてくれることを願っています。 gif形式で

+9

はるかに簡単です。ありがとう。 – ow3n

+3

これは、githubが履歴を持っているが、 "公式" gitタイムラインから消去されたコミットである "失われたコミット"を回復する唯一の方法です。これを使用して、忘却にリベースされたコミットのzipスナップショットを取得し、そのブランチを新しいブランチにプッシュし、そのブランチを既存のレポにフェッチし、チェリーピックを元に戻します。 – Ajax

+0

@Ajaxそうではありません。 'git reflog'を使ってshaを取得し、detachされたコミットをチェックアウトすることができます。 –

15

シヴァンの答えgithubの中のコミットにenter image description here

1.Click

それぞれの右側に

2.Selectブラウズコードダウンロードのzipに

3.Clickをコミットし、これをダウンロードしますコミットした時点のソースコード

+0

こんにちはsurajあなたはどのように画面のGIFを作成しましたか教えていただけますか? –

+0

スクリーンのビデオを録画するためにクイックタイムプレーヤーを使用する。使用可能なツールを使用してビデオをgifに変換する.Google @Rahul Satal –

+0

gifのための@SurajKThomas – Sivan

3

失われたコミット(githubにのみ存在し、ローカルではない)を回復する最も簡単な方法は、このコミットを含む新しいブランチを作成することです。

  1. はオープ​​ンコミット(のようなURL:github.com/org/repo/commit/long-commit-sha)は右上
  2. をクリックし、 "参照ファイル" ドロップダウン「ツリーをクリックしてください:ショートシャー...あなたが任意の特定のコミット、その後することができます任意の特定のコードにコミットまたはたいと一緒に行きたい場合は、「上
+0

この回答は受け入れられたものよりも一般的です。私はこの状況に遭遇し、私が既に望んでいたコミットがマスターブランチでは消え、Githubはすべてのコミットを既存のブランチには保持しません。だから、このアプローチはGithubのコミットから新しいブランチを作り、それを引き出し可能にします。 –

+0

これは私がPRをした削除されたフォークからのコミット(元のSHAそのまま)を回復させます。新しいフォークを作成した後、上流のリポジトリにPRコミットを開き、「ファイルをブラウズ」しました。私はそのURLをコピーし、自分のユーザー名に置き換えました。その後、ツリー:ドロップダウンをクリックし、自分のフォークに新しいブランチを作成しました。素晴らしい仕事を! –

0

現地まで

  • git pull新しいブランチ名に新しいブランチを
  • タイプを左にコマンドの下に使用します。

    git reset --hard <commit ID which code you want> 
    git push --force 
    

    例:

    git reset --hard fbee9dd 
    git push --force 
    
  • +0

    これは危険です。リポジトリを複製してバージョンをチェックアウトする方が理にかなっています – user1767754

    2

    だけで交流をダウンロードするにはOMMIT行う7桁のSHA1短い形式を使用して:あなたは長いハッシュキー31af650ee25f65794b75d4dfefed6fe4758781c1を持っている場合だけ、

    `https://github.com/username/projectname/archive/commitshakey.zip` 
    

    実施例:

    https://github.com/python/cpython/archive/31af650.zip 
    

    説明最初の7文字を取得31af650。これはGitHubのデフォルトです。

    関連する問題