Как мне изменить имена папок в гит? (с больших букв на маленькие)
Недавно начал осваивать гит. Когда я делал первый пуш в репозиторий на гитхабе, случайно назвал директории с большой буквы. Хотел поменять регистр первых букв в папках, но команда git add * почему-то отказывается распознавать регистр и пушит всё как и раньше с большой буквы, либо же вообще говорит что изменений никаких не было. Как это исправить? Можно ли напрямую как-нибудь переименовать папки в репозитории? Регистр здесь важен т.к. все эти директории являются пакетами и при импорте интерпретатор может просто напросто их не увидеть.
Отслеживать
13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков
Перемещение и переименование файлов в GitHub
С сегодняшнего дня вы можете перемещать и переименовывать файлы в репозиториях, прямо из веб интерфейса GitHub.
Переименование файлов
Теперь при редактировании файла можно указать новое имя.
Но давайте посмотрим, что можно делать еще.
Перемещать файлы в новое место
Вы также можете перемещать файлы в совершенно новое место просто используя поле имени файла. Чтобы переместиться вниз по каталогу, просто введите название папки и / . Вы можете указать уже существующую папку, или выбрать совершенно новую!
Нет ничего проще, чем переместить файл выше по каталогу. Чтобы это сделать поместите курсор в начало имени файла
- Введите ../ чтобы переместиться вверх
- Нажмите backspace чтобы переместиться вверх по каталогу, при этом сохранив текущее местоположение, чтобы быстрее изменить расположение.
Создание файлов с произвольным положением
Данная функциональность также доступна при создании файлов, и это означает, что вы можете создавать файлы в любом месте вашего репозитория, даже если папка еще не существует!
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). Я не искал по всем частям опубликованного вами материала. Возможно, есть и другие подобные места, требующие чуть более основательных пояснений. Я понимаю, что в короткую статью очень сложно втиснуть все нужное, не раздувая ее до объема книги, но тем не менее.
Переименование файла
Любой файл в репозитории можно переименовать непосредственно в 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.

- Click Commit changes.
- In the «Commit message» field, type a short, meaningful commit message that describes the change you made to the file. You can attribute the commit to more than one author in the commit message. For more information, see «Creating a commit with multiple authors.»
- 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 the default branch, you should choose to create a new branch for your commit and then create a pull request. For more information, see «Creating a pull request.»
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