私はいくつかの既存のリポジトリを1つに移動/マージしています(これらはすべて同じモノリシックアプリケーションを構築するために使用されています)。それらの中にはいくつかのプロジェクトがあり、リポジトリ全体から1つのディレクトリだけが必要です。gitを無効にするpathspec - 1つのディレクトリを除くすべてのファイルに一致する
git rm
私はSomeSampleDirectory
以外のすべてのファイルを削除するpathspec構文(repo履歴を書き換えるため)を探しています。だから、
、基本的に、の否定:
ls | grep -v SomeSampleDirectory | xargs git rm --cached -f
ls
コンテンツとして、--index-filter
では動作しません:私が正しく理解していれば、あなたはの線に沿っていろいろ書いが
git filter-branch -f
--prune-empty
--index-filter
"git rm --cached -f --ignore-unmatch SomeSampleDirectory/*"
--tag-name-filter cat -- --all