複数のコンポーネントを含む git リポジトリがあり、それぞれが独自のディレクトリにあります。各コンポーネントを独自の git リポジトリに配置したいと考えています。ここでの要件は、git の履歴が失われないことです。そのため、git Blame は引き続き機能します。私はこれを行う方法を探していて、無関係な git 履歴を持っていません。これには 2 つの理由があります。コンポーネントの一部ではないコードへの変更でレポの履歴が乱雑になることを望まないことと、履歴内のコミット数やその他のものが適度に正確であることを好みます。
私はすでにこの役立つ投稿を見ましたが、これは正しい方向に進んでいます。ただし、無意味なコミットを完全に削除するわけではありません (そのため、履歴には多くの null コミットがあります)。また、過去に他のコンポーネントから移動されたファイルの履歴 (コンポーネントが除外されている場合) や、無視されたコンポーネントのファイルにも触れたコミットで触れられた場合でも、履歴は保持されません。
これを行うより良い方法はありますか?