ルートにいくつかのディレクトリを含むリポジトリがあります。
gitroot/a
gitroot/b
gitroot/c
そして、その履歴を保持しながら、a のコンテンツのみから新しい git リポジトリを作成したいと思います。これは可能ですか?まばらなチェックアウトを見てきましたが、これを使用してサブディレクトリから(関連する履歴を含む)新しいリポジトリを作成する方法がわかりません。
ルートにいくつかのディレクトリを含むリポジトリがあります。
gitroot/a
gitroot/b
gitroot/c
そして、その履歴を保持しながら、a のコンテンツのみから新しい git リポジトリを作成したいと思います。これは可能ですか?まばらなチェックアウトを見てきましたが、これを使用してサブディレクトリから(関連する履歴を含む)新しいリポジトリを作成する方法がわかりません。
既存のリポジトリを複製した後、filter-branchを使用できます
git filter-branch --subdirectory-filter a -- --all
その後;
git clean -d -f // Remove untracked files from the working tree
git gc --aggressive // Cleanup unnecessary files and optimize the local repository
git prune // Prune all unreachable objects from the object database