У мене є сховище 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 log.
З того, що я прочитав, найкращим способом досягти цього було б використання git-filter. Я не дуже добре володію оболонкою або git, тому хтось може сказати мені, що мені потрібно виконати, щоб зробити вищезазначене.
git mvпереміщення. Ви можете перевірити це після додавання нових файлів заgit addдопомогоюgit status.