git で一部のディレクトリを新しいレポジトリとして切り出す2017年06月28日 16時27分28秒

repo に dir1 と dir2 のディレクトリがあり、それぞれにファイルがあるとしよう。dir2 を独立させて、repo2 として管理したい。このような場合には、dir1 の履歴は邪魔になる。dir2 のみを切り出す方法は幾つかあるが、--subdirectory-filter が一番簡単だ。

--subdirectory-filter は filter-branch のオプションで、手元のレポジトリで操作するので、clone を忘れないこと。

% git clone repo repo2
% cd repo2
% git filter-branch --subdirectory-filter dir2
なお注意点としては、dir2 の中身がレポジトリの直下になること。例えば、repo/dir2/Makefile があったとすると、これが、repo2/Makefile の位置になる。

repo2/dir2/Makefile の形で残したいと何度か試してみたが、今のところ --subdirectory-filter での方法は見付けられずにいる。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2017/06/28/8605993/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。