Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

将文件移至新位置

您可以在 GitHub 上或使用命令行将文件移动到其他目录。

除了更改文件位置之外,还可以更新文件的内容或在同一提交中为其指定一个新名称

将文件移动到 GitHub 上的新位置

提示

  • 如果尝试移动存储库中你无权访问的文件,我们将创建到个人帐户的项目分支,并在你提交更改后帮助你向原始存储库发送拉取请求
  • 有些文件(如图像)需要您从命令行移动它们。 有关详细信息,请参阅“使用命令行将文件移动到一个新位置”。
  • 如果仓库中有任何受保护分支,则无法使用 GitHub 编辑或上传受保护分支中的文件。 有关详细信息,请参阅“关于受保护的分支”。

您可以使用 GitHub Desktop 将您的更改转移到新的分支,然后提交它们。 有关详细信息,请参阅“提交和审查对项目的更改”。

  1. 在仓库中浏览到您要移动的文件。
  2. 在文件视图的右上角,单击 以打开文件编辑器。 编辑文件图标
  3. 在文件名字段中,使用以下准则更改文件的名称:编辑文件名
    • 若要将文件移动到子文件夹中,请键入所需的文件夹的名称,后跟 /。 新文件夹名称将变成导航层次结构中的新项目。
    • 若要将文件移动到文件当前位置上方的目录中,请将光标置于文件名字段的开头,然后键入 ../ 以跳转到一个完整的目录级别,或者键入 backspace 键以编辑父文件夹的名称。
  4. 在页面底部,输入一条简短、有意义的提交消息,描述您对文件所作的更改。 您可以在提交消息中将提交归于多个作者。 有关详细信息,请参阅“创建具有多个共同作者的提交”。 更改的提交消息 1. 在提交消息字段下面,确定是要将提交添加到当前分支还是新分支。 如果当前分支是默认分支,则应选择为提交创建新分支,然后创建拉取请求。 有关详细信息,请参阅“创建新的拉取请求”。 提交分支选项 1. 单击“提议文件更改”。 提议文件更改按钮

使用命令行将文件移到新位置

您可以使用命令行在仓库中移动文件,从旧位置删除文件,然后将其添加到新位置。

许多文件可以直接在 GitHub 上移动,但某些文件(如图像)要求从命令行移动它们。

此过程假设您已经:

  1. 在计算机上,将文件移至克隆仓库时在计算机上本地创建的目录中的新位置。
  2. 打开终端终端Git Bash
  3. 使用 git status 检查旧文件位置和新文件位置。
    $ git status
    > # On branch YOUR-BRANCH
    > # Changes not staged for commit:
    > #   (use "git add/rm ..." to update what will be committed)
    > #   (use "git checkout -- ..." to discard changes in working directory)
    > #
    > #     deleted:    /OLD-FOLDER/IMAGE.PNG
    > #
    > # Untracked files:
    > #   (use "git add ..." 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 ..." 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