Skip to main content

Перемещение файла в новое расположение

Файл можно переместить в другой каталог на GitHub или с помощью командной строки.

Platform navigation

При изменении расположения файла можно в той же фиксации обновить содержимое файла или присвоить ему новое имя.

Перемещение файла в новое расположение на GitHub

Совет

  • Если вы попытаетесь переместить файл в репозиторий, к которому у вас нет доступа, мы создадим вилку проекта к вашей личной учетной записи и поможем отправить запрос на вытягивание в исходный репозиторий после того, как вы зафиксируете внесенное изменение.
  • Некоторые файлы, например образы, требуют перемещения из командной строки. Дополнительные сведения см. в разделе Перемещение файла в новое расположение.
  • Если в репозитории есть защищенные ветви, вы не можете изменять или отправлять файлы в таких ветвях с помощью GitHub. Вы можете использовать GitHub Desktop, чтобы перенести изменения в новую ветвь и зафиксировать их. Дополнительные сведения см. в разделе [AUTOTITLE и Сведения о защищенных ветвях](/desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project-in-github-desktop).
  1. В репозитории перейдите к файлу, который вы хотите переместить.

  2. В правом верхнем углу представления файла щелкните (Изменить файл), чтобы открыть редактор файлов.

    Снимок экрана: файл. В заголовке кнопка, помеченная значком карандаша, описывается темно-оранжевым цветом.

    Примечание.

    Вместо редактирования и фиксации файла с помощью редактора файлов по умолчанию можно при необходимости использовать редактор кода github.dev, выбрав раскрывающееся меню и щелкнув github.dev. Вы также можете клонировать репозиторий и изменить файл локально с помощью GitHub Desktop, щелкнув GitHub Desktop.

    Снимок экрана: файл. В верхнем колонтитуле значок треугольника с лицом вниз очертается темно-оранжевым цветом.

  3. В поле имени файла измените имя файла с помощью следующих рекомендаций:

    • Чтобы переместить файл во вложенную папку, введите имя нужной папки, а затем /. Имя новой папки станет новым элементом на панели навигации.
    • Чтобы переместить файл в каталог над текущим расположением файла, поместите курсор в начало поля имени файла, а затем введите ../, чтобы перейти на один полный уровень каталога вверх, или введите ключ backspace, чтобы изменить имя родительской папки.
  4. Нажмите кнопку " Зафиксировать изменения" ...

  5. В поле "Фиксация сообщения" введите короткое понятное сообщение фиксации, описывающее изменения, внесенные в файл. В таком сообщении фиксацию можно отнести к нескольким авторам. Дополнительные сведения см. в разделе Создание фиксации с несколькими авторами.

  6. Под полями сообщения о фиксации укажите, куда следует добавить фиксацию: в текущую ветвь или в новую. Если текущей ветвью является ветвь по умолчанию, нужно создать новую ветвь для фиксации, а затем создать запрос на вытягивание. Дополнительные сведения см. в разделе Создание запроса на включение изменений.

    Снимок экрана: запрос на вытягивание GitHub с переключателем для фиксации непосредственно в главной ветви или создания новой ветви. Выбрана новая ветвь.

  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 ВАШ-ФАЙЛ".
    
  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