Skip to main content

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

Splitting a subfolder out into a new repository

You can turn a folder within a Git repository into a brand new repository.

If you create a new clone of the repository, you won't lose any of your Git history or changes when you split a folder into a separate repository.

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

  2. Change the current working directory to the location where you want to create your new repository.

  3. Clone the repository that contains the subfolder.

    $ git clone https://ホスト名/USERNAME/REPOSITORY-NAME
  4. Change the current working directory to your cloned repository.

    $ 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.

    Tip: Windows users should use / to delimit folders.

    $ 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. Create a new repository on GitHub Enterprise Server.

  7. At the top of your new repository on your GitHub Enterprise Server instance's Quick Setup page, click to copy the remote repository URL.

    Copy remote repository URL field

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

  8. Check the existing remote name for your repository. For example, origin or upstream are two common choices.

    $ git remote -v
    > origin  https://ホスト名/USERNAME/REPOSITORY-NAME.git (fetch)
    > origin  https://ホスト名/USERNAME/REPOSITORY-NAME.git (push)
  9. Set up a new remote URL for your new repository using the existing remote name and the remote repository URL you copied in step 7.

    git remote set-url origin https://ホスト名/USERNAME/NEW-REPOSITORY-NAME.git
  10. Verify that the remote URL has changed with your new repository name.

    $ git remote -v
    # Verify new remote URL
    > origin  https://ホスト名/USERNAME/NEW-REPOSITORY-NAME.git (fetch)
    > origin  https://ホスト名/USERNAME/NEW-REPOSITORY-NAME.git (push)
  11. Push your changes to the new repository on GitHub Enterprise Server.

    git push -u origin BRANCH-NAME