問題タブ [git-rm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
51 参照

git - 作業ツリーにないすべてのファイルを履歴から削除します

StackExchange に関する多くの回答は、履歴内のすべてのコミットから特定のファイルを次のように削除することを扱っています。

ただし、私のレポには、時間の経過とともに大量のデータがプッシュされていたため、現在の作業ツリーにないすべてのファイルを除外することで、そのサイズを大幅に削減したいと考えています。

man ページから、次の方法でインデックスに対してこれを行うことができます。

私が収集できるものから、最初の部分は削除されたすべてのファイルの名前を取得し、2 番目の部分はそれらをキャッシュされたバージョンから削除します。

私がうまくいかないのは、rmコマンドのフィルターブランチバージョンを変更して、そのバージョンのインデックスをヘッドと比較するように変更する方法です(したがって、削除されたすべてのファイルを削除します)。

これの目的は、現在の作業ツリーに存在しない、履歴内のすべてのファイルを削除することです。