Я думаю, что это должно работать, чтобы скопировать каталог, который будет переименован в новый каталог с нужным именем, и удалить старый каталог , и git add
, git commit
и push
все. Но так ли это лучше?
655
Я думаю, что это должно работать, чтобы скопировать каталог, который будет переименован в новый каталог с нужным именем, и удалить старый каталог , и git add
, git commit
и push
все. Но так ли это лучше?
Ответы:
Основное переименование (или перемещение):
Переименование с учетом регистра, например от
casesensitive
доCaseSensitive
- вы должны использовать два шага:( Подробнее о чувствительности к регистру в Git… )
… Сопровождаемый коммитом и push - самый простой способ переименовать каталог в git-репо.
источник
casesensitive
вCaseSensitive
, вы можете сделать это следующим образом:git mv casesensitive Temp
а затемgit mv Temp CaseSensitive
git rm -rf --cached path/to/your/directories
добавить и зафиксироватьgit config core.ignorecase false
и затем выполнить команды последовательно или иначе, для второй части я получил быsource is empty
ошибку.Если вы получили эту ошибку: fatal: переименование 'foldername' не выполнено: неверный аргумент
Попробуй это:
git mv foldername tempname && git mv tempname folderName
источник
git mv foldername tempname
иgit mv tempname folderName
, которые должны работать в Windows.1. Измените имя папки со старой папки на новую
2. Если новая папка уже есть в вашем хранилище и вы хотите переопределить ее и использовать: - force
Не забудьте добавить изменения в индекс и зафиксировать их после переименования с помощью git mv.
3. Переименование foldername в folderName в нечувствительных к регистру файловых системах.
Простое переименование с помощью обычной команды mv (не git mv) не распознается как обмен файлами из git. Если вы попробуете это с помощью команды 'git mv', как показано в следующей строке
Если вы используете нечувствительную к регистру файловую систему, например, у вас Mac, и вы не настроили ее для учета регистра, вы увидите сообщение об ошибке, подобное следующему:
роковое: переименование «имя_фолдера» не удалось: неверный аргумент
И вот что вы можете сделать, чтобы заставить его работать: -
Это разделяет процесс переименования, сначала переименовывая папку в совершенно другое имя. После переименования в другое имя папки папка может быть наконец переименована в новое имя папки. После этих git mv, опять же, не забудьте добавить и зафиксировать изменения. Хотя это, вероятно, не красивая техника, она прекрасно работает. Файловая система по-прежнему не распознает изменения букв, но git делает это из-за переименования в новое имя, и это все, что мы хотели :)
источник
Вы можете переименовать каталог, используя файловую систему. Тогда вы можете сделать
git rm <old directory>
иgit add <new directory>
( страница справки ). Тогда вы можете совершить и нажать.Git обнаружит, что содержимое одинаково и что это просто операция переименования, и она появится как запись переименования в истории. Вы можете проверить, что это так, перед фиксацией, используя
git status
источник
Из веб-приложения я думаю, что вы не можете, но вы можете переименовать все папки в Git Client, он переместит ваши файлы в новые переименованные папки, чем зафиксировать и отправить в удаленный репозиторий.
У меня была очень похожая проблема: мне приходилось переименовывать разные папки из прописных в строчные (например, Abc -> abc), я переименовал все папки с фиктивным именем (например, «abc___») и затем зафиксировал их в удаленном репозитории после что я переименовал все папки в исходное имя строчными буквами (например, abc), и он взял их!
источник
Я решил это в два этапа. Чтобы переименовать папку с помощью команды mv, вам нужны права для этого, если у вас нет прав, вы можете выполнить следующие действия. Предположим, вы хотите переименовать регистрочувствительный в регистрозависимый.
Шаг 1: Переименуйте папку (с учетом регистра) во что-то еще из проводника. например, Переименовать с учетом регистра в folder1 зафиксировать это изменение.
Шаг 2: Переименуйте эту недавно названную папку (folder1) в ожидаемое регистрозависимое имя (Casesensitive), например. Переименуйте folder1 в Casesensitive. Передайте это изменение.
источник
Для переименования с учетом регистра,
git mv somefolder someFolder
работал для меня раньше, но не сегодня по какой-то причине. В качестве обходного пути я создал новую папкуtemp
, переместил все содержимоеsomefolder
вtemp
, удалилsomefolder
, зафиксировалtemp
, затем создалsomeFolder
, переместил все содержимоеtemp
вsomeFolder
, удалилtemp
, зафиксировал и отправил,someFolder
и это сработало! Появляется какsomeFolder
в Git.источник
Просто переименуйте папку. git - это «контент-трекер», поэтому хэши SHA1 такие же, и git знает, что вы его переименуете. Единственное, что меняется, это дерево-объект.
источник