Изменение имени папки в Rails - Git не позволит мне добавить коммит - PullRequest
5 голосов
/ 27 октября 2010

alt text

Ссылаясь на скриншот выше, я изменил имя папки самого низкого уровня в дереве.Например, я изменил «Фишки» на «Фишки».Как ни странно, Git отказывается распознавать следующую команду, когда я пытаюсь добавить ее в коммит:

git add public/images/chips/

Единственный способ получить его для добавления файла в коммит - это добавить фактический файл вподпапка.

Есть идеи как обращаться?

Ответы [ 6 ]

3 голосов
/ 27 октября 2010

Как правило, при изменении имен файлов или каталогов вы должны использовать следующее:

git mv oldfile newfile

Это скажет git фактически добавить изменения, чтобы вы могли их зафиксировать. Итак, попробуйте вручную изменить его обратно на

mv chips Chips

, а затем запустить

git mv Chips chips
1 голос
/ 16 марта 2013

Обратите внимание, что с 15 марта 2013 года вы можете перемещать или переименовывать файл непосредственно из GitHub .
Это означает, что в вашем случае вы можете переименовывать папки на GitHub, а затем клонировать репозиторий.в новом локальном репо с новыми именами для указанных папок.

renaming

Вы также можете перемещать файлы в совершенно новые местоположения, используя только поле имени файла.
Чтобы перейти вниз в папку, просто введите имя папки, в которую вы хотите переместить файл, затем /.
Папка может быть той, которая уже является частью вашего хранилища, или даже брендовойновая папка, которая еще не существует!

moving

1 голос
/ 27 октября 2010

Это, вероятно, проблема только при работе с ОС, в которой есть регистронезависимые файловые системы, такие как OSX и Windows. Вам следует выполнить переименование в файловой системе Unix, чувствительной к регистру файлов - она ​​будет работать там любым способом (git mv или сначала переименовать, затем git add - он обнаружит перемещение).

Затем, вернувшись к системе без учета регистра, вы, вероятно, столкнетесь с конфликтами во время проверки. Это может помочь переименовать его вручную и снова попробовать выполнить извлечение - тогда git должен корректно объединить эти изменения (потому что их фактически нет, если фиксация ничего не изменила в этом каталоге).

Вы также можете обойти это с помощью некоторых продвинутых мерзавцев и переименований: сначала переименуйте в chips-tmp, подтвердите, затем переименуйте в chips, измените свой предыдущий коммит. Только тогда подтолкнитесь к вашей вышестоящей репозитой.

Смотрите здесь:

0 голосов
/ 27 октября 2010

Попробуйте git add -A. Это обнаружит переименования / удаления, которые не были выполнены через git mv / git rm.

0 голосов
/ 27 октября 2010

Как вы переименовали папки? Я всегда перемещаю / переименовываю файлы в своем хранилище, используя git mv (git help mv). Попробуйте mv вернуть файлы / папки так, чтобы git знал, как они выглядят, а затем использовать вместо них версию перемещения git?

0 голосов
/ 27 октября 2010

Откатите ваши изменения и запустите git mv Chips chips

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...