読者です 読者をやめる 読者になる 読者になる

bekkou68の日記

開発しているサービス, IT技術, 英語など。

Gitリポジトリ中のサブディレクトリを別リポジトリへ移行する

Git

はじめに

モバイルの開発をしていて、クライアントとサーバを同じリポジトリにいれていました。ある時、クライアントとサーバとを別のリポジトリに分けたくなりました。その手順をメモします。

やりたいこと

oldproject に client/ を残し、newproject には server/ を移動させます。

前提

oldproject のリポジトリには client/ server/ ディレクトリがそれぞれあるとします。また、移行先のリポジトリ newproject が作成されているとします。

手順

  1. newproject で oldproject の url で clone する
    1. $ cd newproject
    2. $ git clone git://example.com/bekkou68/oldproject.git
  2. newproject における originの向き先を変える
    1. $ git remote set-url git://example.com/bekkou68/newproject.git
  3. server を削除して client のディレクトリを一段浅くして再こみっと
    1. $ git rm -r server
    2. コミット
    3. $ g mv client/* .
    4. コミット
    5. $ rm -r client/

終わりに

泥臭くそのまんまな手順です。もしもっとスマートにできる方法がありましたら教えてください><