このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-09-23. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

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

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

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

  1. ターミナルターミナルGit Bashを開いてください。

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

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

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

    $ cd REPOSITORY-NAME
  5. To filter out the subfolder from the rest of the files in the repository, run git filter-repo, supplying this information:

    • FOLDER-NAME: The folder within your project where you'd like to create a separate repository.

      <div class="extended-markdown tip border rounded-1 mb-4 p-3 color-border-info color-bg-info f5">
      
      **ヒント:** Windows ユーザは、 フォルダを区切るために、`/` を使ってください。
      
      </div>
      
      $ 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

      The repository should now only contain the files that were in your subfolder(s).

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

  7. 新しい GitHub Enterprise Server リポジトリの Quick Setup ページの上部で、 をクリックしてリモートリポジトリの URL をコピーしてください。 リモートリポジトリの URL フィールドのコピー

    Tip: For information on the difference between HTTPS and SSH URLs, see "About remote repositories."

  8. リポジトリの既存のリモート名を確認します。 originupstream がよく使われます。

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

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

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

    git push -u origin BRANCH-NAME

問題がまだ解決していませんか?