リポジトリの新しいクローンを作成した� �合でも、フォルダを別のリポジトリに分割したとき、Git の履歴や変更を失うことはありません。
-
[ターミナル][ターミナル][Git Bash] を開きます。
-
現在のワーキングディレクトリを、新しいリポジトリを作成したい� �所に変更します。
-
サブフォルダのあるリポジトリをクローンします。
$ git clone https://ホスト名/USERNAME/REPOSITORY-NAME
-
ワーキングディレクトリをクローンしたリポジトリに変更します。
$ cd REPOSITORY-NAME
-
リポジトリ内の残りのファイルからサブフォルダーを除外するには、
git-filter-repo
をインストールした後、次の引数を指定してgit filter-repo
を実行します。FOLDER-NAME
: 別のリポジトリを作成するプロジェクト内のフォルダー。
ヒント: Windows ユーザーは
/
でフォルダーを区切る必要があります。$ git filter-repo --path FOLDER-NAME1/ --path FOLDER-NAME2/ # Filter the specified branch in your directory and remove empty commits > Rewrite 48dc599c80e20527ed902928085e7861e6b3cbe6 (89/89) > Ref 'refs/heads/BRANCH-NAME' was rewritten
これで、リポジトリにはサブフォルダー内にあったファイル� けが含まれるようになります。
-
GitHub Enterprise Server に新しいリポジトリを作成します。
-
your GitHub Enterprise Server instance の [Quick Setup](クイック セットアップ) ページにある新しいリポジトリの先� �で、 をクリックしてリモート リポジトリの URL をコピーします。
ヒント: HTTPS と SSH の URL の違いについては、「リモート リポジトリについて」を参照してく� さい。
-
リポジトリの既存のリモート名を確認します。 たとえば、
origin
やupstream
の 2 つが一般的な選択肢です。$ git remote -v > origin https://ホスト名/USERNAME/REPOSITORY-NAME.git (fetch) > origin https://ホスト名/USERNAME/REPOSITORY-NAME.git (push)
-
既存のリモート名およびステップ 7 でコピーしたリモートリポジトリ URL を使って、新しいリポジトリの新しいリモート URL をセットアップします。
git remote set-url origin https://ホスト名/USERNAME/NEW-REPOSITORY-NAME.git
-
新しいリポジトリの名前を使い、リモート URL が変更されたことを確認します。
$ git remote -v # Verify new remote URL > origin https://ホスト名/USERNAME/NEW-REPOSITORY-NAME.git (fetch) > origin https://ホスト名/USERNAME/NEW-REPOSITORY-NAME.git (push)
-
変更を GitHub Enterprise Server の新しいリポジトリにプッシュします。
git push -u origin BRANCH-NAME