私は、あなたがこの答え、次の履歴を縮小することができると思う:
How to delete a specific revision of a github gist?
は、あなたが残しておきたい、歴史の中でどの点を決定します。
pick <hash1> <commit message>
pick <hash2> <commit message>
pick <hash3> <commit message> <- keep
pick <hash4> <commit message>
pick <hash5> <commit message>
pick <hash6> <commit message> <- keep
pick <hash7> <commit message>
pick <hash8> <commit message>
pick <hash9> <commit message>
pick <hash10> <commit message> <- keep
次に、それぞれの "保持"の後に最初のままにして "選択"し、他のものを "スカッシュ"としてマークします。
pick <hash1> <commit message>
squash <hash2> <commit message>
squash <hash3> <commit message> <- keep
pick <hash4> <commit message>
squash <hash5> <commit message>
squash <hash6> <commit message> <- keep
pick <hash7> <commit message>
squash <hash8> <commit message>
squash <hash9> <commit message>
squash <hash10> <commit message> <- keep
次に、エディターを保存して終了して、リベースを実行します。各 "保留"ポイントでは、前の "ピック"から "保留"コミットまでのコミットメッセージを結合したメッセージエディタがポップアップ表示されます。最後のメッセージを保持するか、実際にそれらを組み合わせて、すべての中間状態を維持せずに元の履歴を記録することができます。
その後、中間ファイルのデータはリポジトリに残りますが、参照されなくなります。 git gc
は実際にそのデータを削除します。
好奇心、あなたから10Gbのプロジェクトファイル、どのくらいのスペースを保存することができますか? 2Mbs? 25メガバイトまたは200メガバイトのような?! – Honey
私の場合、リポジトリ内のファイルの90%がまだ必要だったので、スペースの10%しか保存しませんでした。 – greggles
あなたは1Gbを保存しましたか?またはgitに関連するメタデータの10%?どのくらいでしたか? – Honey