ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。
GitHub AEは、現在限定リリース中です。詳細については営業チームにお問い合わせください。

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

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 AE 上で新しいリポジトリを作成します。

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

    git push -u origin BRANCH-NAME

このドキュメントは役立ちましたか?

プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

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