Как правильно переименовать каталог в репозитории Git?
в репозитории Git, как правильно переименовать каталог? Я думаю, что он должен работать, чтобы скопировать каталог, который будет переименован в новый каталог с желаемым именем, и удалить старую папку и git add
, git commit
и push
все. Но разве это лучший способ?
10 ответов
основное переименование (или перемещение):
git mv <old name> <new name>
С учетом регистра переименовать-например. от casesensitive
to CaseSensitive
-вы должны использовать два шага:
git mv casesensitive tmp
git mv tmp CaseSensitive
(подробнее о чувствительности к регистру в Git...)
...с последующим commit и push будет самым простым способом переименования каталога в репозитории git.
Если вы получаете эту ошибку: fatal: переименование 'foldername' не удалось: недопустимый аргумент
попробуйте это:
git mv foldername tempname && git mv tempname folderName
1. Изменить имя папки с oldfolder на newfolder
git mv oldfolder newfolder
2. Если newfolder уже находится в вашем репозитории, вы хотите переопределить его и использовать: - силу
git mv -f oldfolder newfolder
Не забудьте добавить изменения в индекс и зафиксировать их после переименования с помощью git mv.
3. Переименование имени папки в имя папки в файловых системах без учета регистра
простое переименование с нормальным mv команда (не git mv) не будет распознана как filechange от git. Если вы попробуете это с помощью команды "git mv", как в следующей строке
git mv foldername folderName
если вы используете файловую систему, нечувствительную к регистру, например, вы находитесь на Mac, и вы не настроили ее на регистр, вы испытаете сообщение об ошибке, подобное этому:
fatal: переименование 'foldername' не удалось: недопустимый аргумент
а вот что вы можете сделать, чтобы сделать его работа: -
git mv foldername tempname && git mv tempname folderName
Это разбивает процесс переименования путем переименования папки сначала на совершенно другое имя папки. После переименования в другое имя папки папку можно переименовать в новое имя папки. После этих "git mv", опять же, не забудьте добавить и зафиксировать изменения. Хотя это, вероятно, не красивая техника, она работает отлично. Файловая система по-прежнему не распознает изменение буквенных вариантов, но git делает это из-за переименования его в новое имя папки, и это все, что мы хотели :)
вы можете переименовать каталог, с помощью файловой системы. Тогда вы можете сделать git rm <old directory>
и git add <new directory>
(страница поможет). Тогда вы можете совершать и толкать.
Git обнаружит, что содержимое одинаковое и что это просто операция переименования, и оно будет отображаться как запись переименования в истории. Вы можете проверить, что это так перед фиксацией с помощью git status
из веб-приложения я думаю, что вы не можете, но вы можете переименовать все папки в клиенте Git, он переместит ваши файлы в новые переименованные папки, чем зафиксировать и нажать на удаленный репозиторий.
у меня была очень похожая проблема: Мне пришлось переименовать разные папки из верхнего регистра в нижний регистр (например, Abc - > abc), я переименовал все папки с фиктивным именем (например, " abc___"), а затем передал в удаленный репозиторий, после чего я переименовал все папки в исходный имя в нижнем регистре (например, abc), и он взял их!
FYI я продолжал получать "FAILED \ Access denied" при использовании параметров Tortoise или командной строки для переименования. Он работает только с параметром командной строки после того, как я закрыл окно Проводника.
On https://github.com в их интерфейсе репозитория:
перейдите в настройки --> имя репозитория -- > введите новое имя в области.
Я просто переименовал каталог, а затем добавил, зафиксировал и нажал на remote. Он отлично работает
mv в Git добавить new_dir git commit-m" " ГИТ пуш
просто переименуйте папку. git - это "контент-трекер", поэтому хэши SHA1 одинаковы, и git знает, что вы переименовываете его. Единственное, что меняется-это дерево-объект.
rm <directory>
git add .
git commit