0

私は2つのファイルを自分自身の新しいリポジトリを送信したいと思っていますが、新しいリポジトリにすでにいくつかの履歴があるように独自の履歴を保存したいと思います。2ファイルをgitサブモジュールとして抽出するにはどうすればよいですか?

私が検索しようと、私はこれらのスレッドが見つかりました:

  1. Splitting a set of files within a git repo into their own repository, preserving relevant history
  2. How to split a git repository while preserving subdirectories?
  3. Create a submodule repository from a folder and keep its git commit history

をしかし、私は、コマンドを書くために正確にどのように見つけ出すことができませんでした。清掃のみこれらの2つのファイルとその歴史を保つことが、その後、私はちょうど新しいサブモジュールとしてそれをプッシュすることができ、私は現在のリポジトリに期待していた

git clone repo 
git remote rm origin 
cd repo 
git filter-branch --tree-filter 'git rm --cached --ignore-unmatch "filename1" "filename2"' -- --all 

が、後:私は上記の回答に基づいてこれを実行してみましたすべてのファイルがリポジトリに残っているというコマンドを実行していました。

答えて

0

私は必要な2つを除くすべてのファイルを履歴から削除しました。私は歴史全体を調べ、名前を変更されたすべてのファイルの名前を調べ、大きなファイルとフォルダ名のリストを精緻化する必要があります。次に、これらのコマンドを実行します。

git clone repo 
git remote rm origin 
cd repo 
git filter-branch --force --index-filter \ 
'git rm --cached --ignore-unmatch "folder1" "file1" "etc" -r -f' \ 
--prune-empty --tag-name-filter cat -- --all 
git remote add origin new_bare_empty_remove 
git push -u origin master 
関連する問題