Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

サブフォルダを新規リポジトリに分割する

Git リポジトリ内のフォルダを、全く新しいリポジトリに変更できます。

リポジトリの新しいクローンを作成した� �合でも、フォルダを別のリポジトリに分割したとき、Git の履歴や変更を失うことはありません。

  1. [ターミナル][ターミナル][Git Bash] を開きます。

  2. 現在のワーキングディレクトリを、新しいリポジトリを作成したい� �所に変更します。

  3. サブフォルダのあるリポジトリをクローンします。

    $ git clone https://ホスト名/USERNAME/REPOSITORY-NAME
  4. ワーキングディレクトリをクローンしたリポジトリに変更します。

    $ cd REPOSITORY-NAME
  5. リポジトリ内の残りのファイルからサブフォルダーを除外するには、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

    これで、リポジトリにはサブフォルダー内にあったファイル� けが含まれるようになります。

  6. GitHub Enterprise Server に新しいリポジトリを作成します。

  7. your GitHub Enterprise Server instance の [Quick Setup](クイック セットアップ) ページにある新しいリポジトリの先� �で、 をクリックしてリモート リポジトリの URL をコピーします。

    リモートリポジトリの URL フィールドのコピー

    ヒント: HTTPS と SSH の URL の違いについては、「リモート リポジトリについて」を参照してく� さい。

  8. リポジトリの既存のリモート名を確認します。 たとえば、originupstream の 2 つが一般的な選択肢です。

    $ git remote -v
    > origin  https://ホスト名/USERNAME/REPOSITORY-NAME.git (fetch)
    > origin  https://ホスト名/USERNAME/REPOSITORY-NAME.git (push)
  9. 既存のリモート名およびステップ 7 でコピーしたリモートリポジトリ URL を使って、新しいリポジトリの新しいリモート URL をセットアップします。

    git remote set-url origin https://ホスト名/USERNAME/NEW-REPOSITORY-NAME.git
  10. 新しいリポジトリの名前を使い、リモート URL が変更されたことを確認します。

    $ git remote -v
    # Verify new remote URL
    > origin  https://ホスト名/USERNAME/NEW-REPOSITORY-NAME.git (fetch)
    > origin  https://ホスト名/USERNAME/NEW-REPOSITORY-NAME.git (push)
  11. 変更を GitHub Enterprise Server の新しいリポジトリにプッシュします。

    git push -u origin BRANCH-NAME