ちなみに、今回の目的とは逆方向、サブディレクトリを新たなルートにする方法はGit Bookに記載されています。 注意 これらリポジトリの歴史を変更する操作は、共用のリモート・リポジトリへまだpushしていない場合に限ります。 方法 リポジトリ・ルートを親ディレクトリにするということは、既存のすべてのファイルを1つのディレクトリに収めるという言い方もできます。すなわち、filter-branchを使って全履歴にわたってリポジトリ・ルートに有るすべてのファイルを1つのディレクトリに移動します。 ここでは、その1つのディレクトリの名前をpublicにしましょう。結果的には下記のようなコマンドになります。