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

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

-
В поле имени файла измените имя файла с помощью следующих рекомендаций:
- Чтобы переместить файл во вложенную папку, введите имя нужной папки, а затем
/. Имя новой папки станет новым элементом на панели навигации. - Чтобы переместить файл в каталог над текущим расположением файла, поместите курсор в начало поля имени файла, а затем введите
../, чтобы перейти на один полный уровень каталога вверх, или введите ключbackspace, чтобы изменить имя родительской папки.
- Чтобы переместить файл во вложенную папку, введите имя нужной папки, а затем
-
Нажмите кнопку " Зафиксировать изменения" ...
-
В поле "Фиксация сообщения" введите короткое понятное сообщение фиксации, описывающее изменения, внесенные в файл. В таком сообщении фиксацию можно отнести к нескольким авторам. Дополнительные сведения см. в разделе Создание фиксации с несколькими авторами.
-
Под полями сообщения о фиксации укажите, куда следует добавить фиксацию: в текущую ветвь или в новую. Если текущей ветвью является ветвь по умолчанию, нужно создать новую ветвь для фиксации, а затем создать запрос на вытягивание. Дополнительные сведения см. в разделе Создание запроса на включение изменений.

-
Нажмите кнопку Зафиксировать изменения или Предложить изменения.
Перемещение файла в новое расположение с помощью командной строки
Для перемещения файлов по репозиторию с помощью командной строки нужно удалить файл из старого расположения и добавить в новое.
Многие файлы можно перемещать непосредственно на GitHub, но для некоторых файлов, таких как изображения, требуется переместить их из командной строки.
В этой процедуре предполагается, что вы уже сделали следующее:
- Создан репозиторий на GitHubили есть существующий репозиторий, принадлежащий другому пользователю, в который вы хотите внести свой вклад.
- клонировали репозиторий на локальном компьютере.
-
На компьютере переместите файл в новое расположение в каталоге, созданном на локальном компьютере при клонировании репозитория.
-
Откройте ТерминалТерминалGIT Bash.
-
Для проверки старых и новых расположений файлов используйте
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") -
Подготовьте файл для фиксации в локальном репозитории. Это действие приведет к удалению (команда
git rm) файла из старого расположения и его добавлению (командаgit add) в новое.$ git add . # Adds the file to your local repository and stages it for commit. # Чтобы отменить подготовку файла, используйте команду "git reset HEAD ВАШ-ФАЙЛ". -
Для проверки изменений, подготовленных для фиксации, используйте
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 -
Зафиксируйте подготовленный файл в локальном репозитории.
$ 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", а затем выполните фиксацию и добавьте файл еще раз. -
Отправьте изменения в локальном репозитории в GitHub.com.
$ git push origin YOUR_BRANCH # Pushes the changes in your local repository up to the remote repository you specified as the origin