👋 We've unified all of GitHub's product documentation in one place! Check out the content for REST API, GraphQL API, and Developers. Stay tuned for a blog post later today.


ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

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

記事のバージョン: Enterprise Server 2.18

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

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

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

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

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

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

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

    $ cd REPOSITORY-NAME
  5. リポジトリのファイルからサブフォルダを抽出するには、以下の情報を指定して git filter-branch を実行します。

    • FOLDER-NAME: 別のリポジトリの作成元にしたい、プロジェクト内のフォルダです。

      ヒント: Windows ユーザは、 フォルダを区切るために、/ を使ってください。

    • BRANCH-NAME: mastergh-pages などの、現在のプロジェクトのデフォルトブランチです。

      $ git filter-branch --prune-empty --subdirectory-filter FOLDER-NAME  BRANCH-NAME 
        # 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 上で新しいリポジトリを作成します。

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

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

    ヒント: HTTPS と SSH URL との違いについては、「どのリモート URL を使うべきか?」を参照してください。

  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 の新しいリポジトリにプッシュします。

    git push -u origin BRANCH-NAME

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください