Переименование файла
Любой файл в репозитории можно переименовать непосредственно в GitHub или с помощью командной строки.
Platform navigation
Renaming a file on GitHub
Renaming a file also gives you the opportunity to move the file to a new location
Tips:
- If you try to rename a file in a repository that you don’t have access to, we will fork the project to your personal account and help you send a pull request to the original repository after you commit your change.
- File names created via the web interface can only contain alphanumeric characters and hyphens ( — ). To use other characters, create and commit the files locally and then push them to the repository.
- Some files, such as images, require that you rename them from the command line. For more information, see «Renaming a file.»
- In your repository, browse to the file you want to rename.
- In the upper right corner of the file view, click

to open the file editor.

In the filename field, change the name of the file to the new filename you want. You can also update the contents of your file at the same time.

Renaming a file using the command line
You can use the command line to rename any file in your repository.
Many files can be renamed directly on GitHub, but some files, such as images, require that you rename them from the command line.
This procedure assumes you’ve already:
- Created a repository on GitHub, or have an existing repository owned by someone else you’d like to contribute to
- Cloned the repository locally on your computer
git mv OLD-FILENAME NEW-FILENAME
$ git status > # On branch YOUR-BRANCH > # Changes to be committed: > # (use "git reset HEAD . " to unstage) > # > # renamed: OLD-FILENAME -> NEW-FILENAME > #
$ git commit -m "Rename file" # Commits the tracked changes and prepares them to be pushed to a remote repository. # To remove this commit and modify the file, use 'git reset --soft HEAD~1' and commit and add the file again.
$ git push origin YOUR_BRANCH # Pushes the changes in your local repository up to the remote repository you specified as the origin
Руководство по Git. Переименование.
В данной статье мы рассмотрим процесс переименования файлов в Git.
Попробуем переименовать класс Technology.java на Skill.java.
На текущий момент, наш проект имеет следующий вид:

Для переименования данного класса мы можем использовать следующую команду:
git mv company/Technology.java company/Skill.java
Проверяем статус git:
git status -s R company/Technology.java -> Skill.java
git commit -m "Renaming class Technology to Skill"
Сейчас наш проект имеет следующую структуру:

На этом мы заканчиваем изучение переименования файлов в системе Git.
В следующей статье мы рассмотрим, каким образом в Git происходит удаление файлов.
Git для начинающих. Часть 8. Добавление, удаление и переименование файлов в репозитории
![]()
В рамках данного урока рассмотрим вопросы, касающиеся добавления, удаления и переименования файлов в git репозитории.
- Добавление файлов в git репозиторий
- Удаление файлов из git репозитория и из stage
- Удаление файла из stage
- Удаление файлов из git репозитория
- Первый способ
- Второй способ
- Первый способ
- Второй способ
Добавление файлов в git репозиторий
Добавление файлов в репозиторий – это достаточно простая операция, мало чем отличающаяся от отправки изменений в отслеживаемых файлах в репозиторий. Мы уже не раз выполняли эту операцию в предыдущих уроках, но сделаем это ещё раз. Создадим новый репозиторий, для этого перейдите в каталог, в котором вы хотите его расположить и введите команду git init .
> git initСоздайте в каталоге файл README.md любым удобным для вас способом, мы сделаем это с помощью команды touch .
> touch README.mdТеперь проверим состояние отслеживаемой директории.
> git status On branch master Initial commit Untracked files: (use "git add . " to include in what will be committed) README.md nothing added to commit but untracked files present (use "git add" to track)
Как вы можете видеть: в рабочей директории есть один неотслеживаемый файл README.md . Git нам подсказывает, что нужно сделать для того, чтобы начать отслеживать изменения в файле README.md : необходимо выполнить команду git add , сделаем это.
> git add README.mdПосмотрим ещё раз на состояние.
> git status On branch master Initial commit Changes to be committed: (use "git rm --cached . " to unstage) new file: README.mdВидно, что информация о появлении нового файла попала в stage . Для того чтобы это изменение зафиксировалось в репозитории необходимо выполнить команду git commit .
> git commit -m "add README.md file" [master (root-commit) 0bb6c94] add README.md file 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 README.mdТеперь в рабочей директории и в stage нет объектов, информацию об изменении которых необходимо внести в репозиторий.
> git status On branch master nothing to commit, working tree cleanВ репозиторий был сделан один коммит.
> git log --oneline 0bb6c94 add README.md fileУдаление файлов из git репозитория и из stage
Удаление файла из stage
Вначале разберемся со stage . Создадим ещё один файл.
> touch main.c“Отправим” файл main.c в stage .
> git add main.cВнесем изменения в README.md .
> echo "# README" > README.mdИнформацию об этом также отправим в stage .
> git add README.mdПосмотрим на состояние stage .
> git status On branch master Changes to be committed: (use "git reset HEAD . " to unstage) modified: README.md new file: main.c
Если нам необходимо убрать из stage , какой-то из этих файлов (main.c или README.md), то для этого можно воспользоваться командой git –rm cashed , сделаем это для файла main.c .
> git rm --cached main.c rm 'main.c'Теперь посмотрим на состояние рабочей директории и stage .
> git status On branch master Changes to be committed: (use "git reset HEAD . " to unstage) modified: README.md Untracked files: (use "git add . " to include in what will be committed) main.cВидно, что изменения в файле README.md готовы для коммита, а вот файл main.c перешел в состояние – неотслеживаемый. Отправим main.c в stage и, после этого, сделаем коммит в репозиторий.
> git add main.c > git commit -m "add main.c and do some changes in README.md" [master 49049bc] add main.c and do some changes in README.md 2 files changed, 1 insertion(+) create mode 100644 main.c
Удаление файлов из git репозитория
Удалить файл из репозитория можно двумя способами: первый – удалить его из рабочей директории и уведомить об этом git ; второй – воспользоваться средствами git . Начнем с первого способа. Для начала посмотрим, какие файлы у нас хранятся в репозитории.
> git ls-tree master 100644 blob 7e59600739c96546163833214c36459e324bad0a README.md 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 main.cУдалим файл main.c из рабочей директории.
> rm main.c > ls README.md
Уведомим об этом систему git .
> git rm main.c rm 'main.c'Вместо команды git rm можно использовать git add , но само слово add в данном случае будет звучать несколько неоднозначно, поэтому лучше использовать rm . На данном этапе еще можно вернуть все назад с помощью команды git checkout — , в результате, в нашу рабочую директорию будет скопирован файл из репозитория. Создадим коммит, фиксирующий удаление файла.
> git commit -m "remove main.c" [master d4e22ae] remove main.c 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 main.cТеперь в репозитории остался только один файл README.md .
> git ls-tree master 100644 blob 7e59600739c96546163833214c36459e324bad0a README.mdВторой способ – это сразу использовать команду git rm без предварительного удаления файла из директории. Вновь создадим файл main.c и добавим его в репозиторий.
> touch main.c > git add main.c > git commit -m "add main.c file" [master 6d93049] add main.c file 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 main.c > git ls-tree master 100644 blob 7e59600739c96546163833214c36459e324bad0a README.md 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 main.c
Удалим файл из репозитория.
> git rm main.c rm 'main.c' > git commit -m "deleted: main.c file" [master ba7d027] deleted: main.c file 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 main.c
Файла main.c больше нет в репозитории.
> git ls-tree master 100644 blob 7e59600739c96546163833214c36459e324bad0a README.mdЕго также нет и в рабочем каталоге.
> ls README.mdУдалите файл README.md из репозитория самостоятельно.
Переименование файлов в git репозитории
Как и в случае с удалением, переименовать файл в git репозитории можно двумя способами – с использованием и без использования средств операционной системы.
Первый способ. Создадим файл test_main_file.c и добавим его в репозиторий.
> touch test_main_file.c > git add test_main_file.c > git commit -m "add test_main_file.c" [master 6cf53ac] add test_main_file.c 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test_main_file.c
Содержимое репозитория после этого будет выглядеть так.
> git ls-tree master 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 test_main_file.cПереименуем его на test_main.c .
Сделаем это в рабочей директории.
> mv test_main_file.c test_main.cТеперь отправим изменение в репозиторий.
> git add . > git commit -m "Rename test_main_file.c" [master 79528c4] Rename test_main_file.c 1 file changed, 0 insertions(+), 0 deletions(-) rename test_main_file.c => test_main.c (100%)
В репозитории и в рабочей директории будет находится только файл test_main.c .
> git ls-tree master 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 test_main.c > ls test_main.c
Второй способ.
В рамках второго способа рассмотрим работу с командой git mv . Переименуем файл test_main.c в main.c . Текущее содержимое репозитория и рабочего каталога.
> git ls-tree master 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 test_main.c > ls test_main.c
Переименуем файл test_main.c на main.c средствами git .
> git mv test_main.c main.c > git commit -m "Rename test_main.c file" [master c566f0e] Rename test_main.c file 1 file changed, 0 insertions(+), 0 deletions(-) rename test_main.c => main.c (100%)
Имя файла изменилось как в репозитории так и в рабочем каталоге.
> git ls-tree master 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 main.c > ls main.c
Отличный курс по git делают ребята из GeekBrains , найдите в разделе “Курсы” курс “Git. Быстрый старт” , он бесплатный!
Раздел: Git Git для начинающих Метки: Git, Git для начинающих, Уроки по Git
Git для начинающих. Часть 8. Добавление, удаление и переименование файлов в репозитории : 1 комментарий
- Игорь 09.12.2021 В целом, очень неплохо написанный начальный курс. Что бросилось в глаза, так это то, что вы вводите такую конструкцию как git rm –cached без объяснений, что это значит и чем отличается от простого git rm. Между тем это достаточно важный и не слишком очевидный момент (cached, staged). Я не искал по всем частям опубликованного вами материала. Возможно, есть и другие подобные места, требующие чуть более основательных пояснений. Я понимаю, что в короткую статью очень сложно втиснуть все нужное, не раздувая ее до объема книги, но тем не менее.
Как мне изменить имена папок в гит? (с больших букв на маленькие)
Недавно начал осваивать гит. Когда я делал первый пуш в репозиторий на гитхабе, случайно назвал директории с большой буквы. Хотел поменять регистр первых букв в папках, но команда git add * почему-то отказывается распознавать регистр и пушит всё как и раньше с большой буквы, либо же вообще говорит что изменений никаких не было. Как это исправить? Можно ли напрямую как-нибудь переименовать папки в репозитории? Регистр здесь важен т.к. все эти директории являются пакетами и при импорте интерпретатор может просто напросто их не увидеть.
Отслеживать
13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков