Skip to main content

ファイルを新しい場所に移動する

リポジトリ内の任意のファイルは、GitHub で直接、またはコマンド ラインを使って、別のディレクトリに移動することができます。

Platform navigation

ファイルの場所を変更するだけでなく、同じコミットでファイルの内容を更新したり、ファイルの名前を変更したりすることもできます。

GitHub

上の新しい場所にファイルを移動する

ヒント:

  • アクセス権のないリポジトリのファイルを移動しようとした場合は、プロジェクトがあなたの個人アカウントにフォークされ、変更のコミット後に元のリポジトリにプルリクエストを送信できます。
  • 画像など、ファイルによってはコマンドラインから移動しなければならない場合があります。 詳しくは、「ファイルを新しい場所に移動する」をご覧ください。
  • リポジトリに保護されたブランチがある場合、GitHubを使ってその保護されたブランチ中のファイルを編集したり、保護されたブランチにファイルをアップロードしたりすることはできません。 GitHub Desktopを使って、変更を新しいブランチに移動させてコミットできます。 詳細については、「保護されたブランチについて」および「GitHub Desktop でプロジェクトの変更をコミットしてレビューする」を参照してください。
  1. リポジトリで、移動するファイルを見つけます。

  2. ファイル ビューの右上隅にある をクリックしてファイル エディターを開きます。

     ファイルのスクリーンショット。 ヘッダーにある鉛筆アイコンのラベルが付いたボタンが濃いオレンジ色の枠線で囲まれています。

    注: 既定のファイル エディターを使ってファイルの編集とコミットを行う代わりに、必要に応じて github.dev コード エディターを使用できます。それには、 ドロップダウン メニューを選択し、 [github.dev] をクリックします。 また、 GitHub Desktop をクリックして、GitHub Desktop を使用してリポジトリを複製し、ローカルでファイルを編集することもできます。

    ファイルのスクリーンショット。 ヘッダーの下向き三角形のアイコンが、濃いオレンジ色の枠線で囲まれています。

  3. ファイル名のフィールドで、以下のガイドラインに従ってファイルの名前を変更します。

    • ファイルをサブフォルダーに移動するには、目的のフォルダーの名前を入力して、その後に / を付加します。 新しいフォルダ名が、ナビゲーション階層リンクで新しいアイテムになります。
    • ファイルの現在位置より上位のディレクトリにファイルを移動するには、ファイル名フィールドの先頭にカーソルを置いてから、../ と入力して 1 つ上のディレクトリ レベルに移動するか、backspace キーを押して親フォルダの名前を編集します。
  4. [変更のコミット...] をクリックします。

  5. [コミット メッセージ] フィールドに、ファイルに対する変更内容を説明する、短くわかりやすいコミット メッセージを入力します。 コミットメッセージでは、複数の作者にコミットを関連づけることができます。 詳しくは、「複数の作者を持つコミットを作成する」を参照してください。

  6. コミットメッセージフィールドの下で、コミットの追加先を現在のブランチか新しいブランチから選択してください。 現在のブランチがデフォルトブランチなら、コミット用に新しいブランチを作成してからPull Requestを作成すべきです。 詳しくは、「pull request の作成」を参照してください。

    GitHub pull request のスクリーンショット。メイン ブランチに直接コミットする、または新しいブランチを作成するためのラジオ ボタンが表示されています。 新しいブランチが選ばれています。

  7. [変更のコミット] または [変更の提案] をクリックします。

コマンドラインを使用してファイルを新しい場所へ移動する

コマンドラインを使用してリポジトリ内でファイルを移動するには、元の場所でファイルを削除してから、新しい場所に追加します。

多くのファイルは GitHub で直接移動できますが、画像など一部のファイルは、コマンドラインで移動する必要があります。

この手順は、以下が済んでいることを前提としています。

  1. リポジトリをクローンするときにコンピュータのローカルに作成したディレクトリ内で、新しい場所にファイルを移動します。

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

  3. git status を使用して、ファイルの古い場所と新しい場所をチェックします。

    $ git status
    > # On branch YOUR-BRANCH
    > # Changes not staged for commit:
    > #   (use "git add/rm <file>..." to update what will be committed)
    > #   (use "git checkout -- <file>..." to discard changes in working directory)
    > #
    > #     deleted:    /OLD-FOLDER/IMAGE.PNG
    > #
    > # Untracked files:
    > #   (use "git add <file>..." to include in what will be committed)
    > #
    > #     /NEW-FOLDER/IMAGE.PNG
    > #
    > # no changes added to commit (use "git add" and/or "git commit -a")
    
  4. コミットに備えてローカルリポジトリにファイルをステージングしてください。 これにより古い場所のファイルが削除 (git rm) され、新しい場所にファイルが追加 (git add) されます。

    $ git add .
    # Adds the file to your local repository and stages it for commit.
    # ファイルをステージング解除するには、'git reset HEAD YOUR-FILE' を使用します。
    
  5. git status を使用して、コミットのステージされた変更を確認します。

    $ git status
    > # On branch YOUR-BRANCH
    > # Changes to be committed:
    > #   (use "git reset HEAD <file>..." to unstage)
    > #
    > #    renamed:    /old-folder/image.png -> /new-folder/image.png
    # Displays the changes staged for commit
    
  6. ローカルリポジトリでステージングしたファイルをコミットしてください。

    $ git commit -m "Move file to new directory"
    # Commits the tracked changes and prepares them to be pushed to a remote repository.
    # このコミットを削除してファイルを変更するには、'git reset --soft HEAD~1'を使い、コミットしてからファイルを再度追加してください。
    
  7. GitHub.com にローカル リポジトリの変更をプッシュします。

    $ git push origin YOUR_BRANCH
    # Pushes the changes in your local repository up to the remote repository you specified as the origin