When editing a file, you can choose to move it anywhere within your repository, even if the directory doesn't exist.

In addition to changing the file location, you can also update the contents of your file, or give it a new name in the same commit.


  • If you try to move a file in a repository that you don’t have access to, we'll fork the project to your user account and help you send a pull request to the original repository after you commit your change.
  • Some files, such as images, require that you move them from the command line. For more information, see "Moving a file to a new location using the command line".
  1. In your repository, browse to the file you want to move.
  2. In the upper right corner of the file view, click to open the file editor. Edit file icon
  3. In the filename field, change the name of the file using these guidelines: Editing a file name
    • To move the file into a subfolder, type the name of the folder you want, followed by /. Your new folder name becomes a new item in the navigation breadcrumbs.
    • To move the file into a directory above the file's current location, place your cursor at the beginning of the filename field, then either type ../ to jump up one full directory level, or type the backspace key to edit the parent folder's name.
  4. At the bottom of the page, type a short, meaningful commit message that describes the change you made to the file. Commit message for your change

  5. Below the commit message fields, decide whether to add your commit to the current branch or to a new branch. If your current branch is master, you should choose to create a new branch for your commit and then create a pull request. Commit branch options

  6. Click Propose file change. Propose file change button