Подтвердить что ты не робот

В репозитории Git, как правильно переименовать каталог?

Я думаю, что это должно работать, чтобы скопировать каталог, который будет переименован в новый каталог с желаемым именем, и удалить старый каталог, и git add, git commit и push all. Но так ли это лучше?

4b9b3361

Ответ 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