У меня есть репозиторий git, структура которого выглядит так:
+--repo.git
|
+----+bootstrap.py
+----+buildout.cfg
+----+.gitignore
+----+webapp
|
+---------+manage.py
+---------+modules
+---------+templates
+---------+static
+---------+...
+---------+...
Я хотел бы переместить содержимое папки webapp
на один уровень выше. Полученное в результате репо должно выглядеть так:
+--repo.git
|
+----+bootstrap.py
+----+buildout.cfg
+----+.gitignore
+----+manage.py
+----+modules
+----+templates
+----+static
+----+...
+----+...
Могу ли я сделать это, просто переместив все файлы каталога webapp
на один уровень вверх, удалив пустой каталог webapp
и затем зафиксировав изменения ? Сохранит ли это историю фиксации файлов в каталоге webapp
?
Хотя это очень простой вопрос для многих из вас, я хотел бы быть уверенным. Меньше всего мне нужен суп git.
Я попытался переместить файлы, но потерял историю коммитов, так как git на самом деле не обрабатывает перемещение или переименование. Я знаю, что даже несмотря на то, что он отображается как новый файл в журналах, все же можно просмотреть историю фиксации для файла, используя некоторые параметры в git log
.
Из того, что я прочтите, лучший способ добиться этого - использовать git-filter
. Я не очень хорошо разбираюсь в оболочке или git, поэтому может кто-нибудь сказать мне, что мне нужно выполнить, чтобы сделать вышеупомянутое.
В Windows, с помощью Bash, после обработанного:
git mv /c/REPO_FOLDER/X_FOLDER/Y_FOLDER/Z_FOLDER/* /c/REPO_FOLDER/X_FOLDER/Y_FOLDER