Сколько файлов вы перемещаете? Если вы не говорите о десятках / сотнях / тысячах файлов, просто физически переместите файл - вручную, через графический интерфейс или с помощью команды mv
- в новое место, и Git обнаружит тот факт, что файл был:
- Удалено из старого местоположения.
- Это новый файл в новом месте.
Поэтому, чтобы добавить новые файлы, просто сделайте git add *
в корне вашего проекта после перемещения файлов, сделайте коммит, и Git обработает все остальное, в том числе отметив, что файл, который был в одном месте, теперь находится в другом.
И если вы как - то речь идет о десятках / сотни / тысячи файлов , то вам просто нужно будет что - то сценарий в Bash , чтобы переместить файлы , а затем сделать то же git add *
и совершить процесс , и все должно быть хорошо.
Такой скрипт Bash должен работать для перемещения всех элементов, заканчивающихся расширением *.coffee
на один каталог в дереве независимо от того, насколько глубоко он вложен:
find . -name '*.coffee' |\
while read item_path
do
item_dirname=$(dirname "${item_path}");
mv ${item_path} ${item_dirname}/..;
done
PS: ни в коем случае нельзя использовать git rm
для такой процедуры. Просто переместите файлы, используйте git add *
чтобы добавить недавно перемещенные файлы, а затем выполните коммит Git, и все будет хорошо.