Я думаю, что это должно работать, чтобы скопировать каталог, который будет переименован в новый каталог с желаемым именем, и удалить старый каталог, и git add
, git commit
и push
all. Но так ли это лучше?
В репозитории Git, как правильно переименовать каталог?
Ответ 1
Основное переименование (или перемещение):
git mv <old name> <new name>
Переменная, чувствительная к регистру, например. от casesensitive
до casesensitive
- вы должны использовать два шага:
git mv casesensitive tmp
git mv tmp CaseSensitive
(Подробнее о чувствительности к регистру в Git...)
... с последующим фиксацией и нажатием будет самый простой способ переименовать каталог в репозитории git.
Ответ 2
Если вы получили эту ошибку: fatal: переименовано имя папки: Неверный аргумент
Попробуйте следующее:
git mv foldername tempname && git mv tempname folderName
Ответ 3
1. Измените имя папки из старой папки на новую папку
git mv oldfolder newfolder
2. Если новая папка уже находится в вашем репозитории, и вы хотите ее переопределить и использовать: - force
git mv -f oldfolder newfolder
Не забудьте добавить изменения в индекс и зафиксировать их после переименования с помощью git mv.
3. Переименование имени папки в folderName на файловых системах без регистра.
Простое переименование с помощью обычной команды mv (не git mv) не будет распознано как изменение файла из git. Если вы попробуете его с помощью команды git mv, как в следующей строке
git mv foldername folderName
Если вы используете файловую систему, не учитывающую регистр, например. youre на Mac, и вы не настроили его на чувствительность к регистру, вы получите сообщение об ошибке, подобное этому:
fatal: переименовать 'имя папки не удалось: недопустимый аргумент
И вот что вы можете сделать, чтобы заставить его работать: -
git mv foldername tempname && git mv tempname folderName
Это разделяет процесс переименования, сначала переименовывая папку в совершенно другое имя папки. После переименования его в другое имя папки папка может быть, наконец, переименована в новую папкуName. После этих git mvs, не забудьте добавить и зафиксировать изменения. Хотя это, вероятно, не красивая техника, она отлично работает. Файловая система по-прежнему не распознает изменения букв, но git делает это переименованием в новое имя папки, и это все, что мы хотели:)
Ответ 4
Вы можете переименовать каталог, используя файловую систему. Затем вы можете сделать git rm <old directory>
и git add <new directory>
(Страница справки). Затем вы можете зафиксировать и нажать.
Git обнаружит, что содержимое одинаков и что оно просто операция переименования, и оно будет отображаться как запись переименования в истории. Вы можете проверить, что это происходит до фиксации с использованием git status
Ответ 5
Из веб-приложения я думаю, что вы не можете, но вы можете переименовать все папки в Git Client, он переместит ваши файлы в новые переименованные папки, а не будет фиксации и нажмите в удаленный репозиторий.
У меня была очень похожая проблема: Мне пришлось переименовать разные папки из верхнего регистра в нижний регистр (например, Abc → abc), я переименовал все папки с фиктивным именем (например, "abc___" ) и передал удаленный репозиторий, после чего я переименовал все папки в оригинальное имя с нижним регистром (например, abc), и это взяло их!
Ответ 6
FYI Я продолжал получать "FAILED\Access denied" при использовании Tortoise или параметров командной строки для выполнения переименования. Он работает только из опции командной строки после закрытия окна проводника.
Ответ 7
Я просто переименовал каталог, а затем добавил, зафиксировал и отправил на удаленный. Работает нормально
mv git add new_dir git commit -m "<>" git push
Ответ 8
На https://github.com в их интерфейсе репозитория:
Зайдите в настройки → Имя репозитория → введите ваше новое имя в области.
Ответ 9
git rm -rf --cached path/to/your/directories
Затем повторно добавьте и зафиксируйте.
Ответ 10
Просто переименуйте папку. git является "контент-трекером", поэтому хэши SHA1 одинаковы, а git знает, что вы его переименовываете. Единственное, что меняется, это древовидный объект.
rm <directory>
git add .
git commit