Вопрос:

Перемещение корня git repo вниз на один уровень в иерархии папок при сохранении истории

git

489 просмотра

1 ответ

8 Репутация автора

Итак, у меня есть git-репо в этой структуре:

app
    app_one
    app_two
    app_three

Корень Git репо находится в приложении. То, что я хочу, это чтобы root был просто папкой, содержащей app_one, app_two, app_three.

app_one
app_two
app_three

Но предостережение в том, что я хочу сделать это, сохраняя текущую историю файла. Ака, когда я помещаю это изменение в github, я не хочу, чтобы все показывали, что оно было обновлено 3 секунды назад.

Автор: Josh Источник Размещён: 22.08.2016 09:48

Ответы (1)


4 плюса

53515 Репутация автора

Решение

Я хочу сделать это, сохраняя текущую историю файла.

Самый простой (и лучший ИМО) способ:

git mv app_one app_two app_three .
git commit

Вы по-прежнему будете иметь доступ ко всей истории изменений для всех файлов в каждой папке.

Я не хочу, чтобы все показывали, это было обновлено 3 секунды назад.

Для этого потребуется полностью переписать историю коммитов с помощью git filter-branchили git rebase. Они оба опасны, если есть другие разработчики, которые работают над существующими ветками. Кроме того, они занимают намного больше времени и усилий. Вышеупомянутое решение будет отлично работать для большего количества случаев.

Информацию о просмотре хронологической информации о перемещениях файлов смотрите в этом вопросе .

Автор: Code-Apprentice Размещён: 22.08.2016 10:11
Вопросы из категории :
32x32