BLOGTIMES
2015/11/27

git リポジトリ内にあるディレクトリを別のリポジトリとして切り出す

  git 
このエントリーをはてなブックマークに追加

git リポジトリにあるディレクトリを別のリポジトリとして管理する方法を調べたのでメモ。
具体的には以下のようなリポジトリがあったときに、dir1 をルートとする別リポジトリを作りたいという趣旨です。

repo_root/ ├ dir1/ └ dir2/

具体的にはこんな感じの手順になります。

git clone /path/to/repo_root dir1 cd dir1 git filter-branch --subdirectory-filter dir1 HEAD

最初の clone の時点ではすべてのファイルがコピーされますが、filter-branch をすることでリポジトリの内容が dir1 だけになります
こうするとファイルの履歴等はそのままで、リポジトリの一部だけを別リポジトリとして管理できます。

参考


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/8076
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン