GIT-эквивалент для переименования

В Bash я могу сделать find . -name jndi.properties -exec rename 's/jndi/environment/' {} \; рекурсивно найти все файлы jndi.propertie и переименовать их в environment.properties.

Но git status не распознает mv, он показывает удаление и добавление отдельно. Как я могу сделать рекурсивный git mv?

1 ответ

Решение

Поскольку вы делаете точное совпадение с именем, вам не нужно делать динамическую замену, не так ли? Если твой find поддерживает его (BSD и GNU, но это не указано в POSIX) вы можете использовать -execdir выполнить команду в каталоге, чтобы вы могли просто сделать

find . -name jndi.properties -execdir git mv {} environment.properties \;
Другие вопросы по тегам