Как я могу переместить корень моего репозитория git?
Для начала, я знаю, что этот вопрос был задан раньшездесь .
Дело в том, что мне нравится хранить историю.
Таким образом, я опробовал все другие шаги, которые я мог найти, которые включают в себя либо перемещение .каталог git на один уровень выше или создание подкаталога и перемещение в него всех файлов из текущего корневого каталога. Но я продолжаю терять историю моих файлов.
Самое смешное, что Git Bash (так на моей локальной линии связи) говорит мне, что он обнаруживает файлы как переименовано, и когда я запускаю git log , я также получаю историю файла, как и ожидал. Но когда я смотрю на github, история исчезает, и фиксация содержит только список файлов, которые удаляются и добавляются (вместо списка переименований, которые я ожидал бы).
Хранилище, о котором я говорю, - этоВот это . Есть ветка под названием "перемещение", в которой я пытался перемещать файлы.
В случае, если это поможет, точные шаги, которые я предпринял, были:
- создайте подкаталог " src" в справочнике, который содержит .git
- переместите все файлы в этот подкаталог
- переместите каталоги с уровня выше where .git is, одним уровнем ниже
- запустите
git add srcиgit add nbproject, где src-это подкаталог, который я создал на шаге 1, а nbproject-каталог, который я переместил вниз на Шаге 3 - запустите a
git rmдля всех "старых файлов" - запустите a
git statusи обратите внимание, что все файлы обнаруживаются как переименованные - запустите a
git log src/README, чтобы убедиться, что история OK - наконец зафиксируйте изменение на github
Обратите внимание, что история исчезает, когда я смотрю на свой README на github
1 ответ:
Git не хранит копии файлов и имена, он использует эвристику, чтобы выяснить это. Я предполагаю, что Github не принимает переименование, потому что они отключили эвристику переименования/копирования, чтобы сэкономить вычислительную мощность. Это не сильно влияет на то, как этот коммит отображается на Github. Самое простое, что можно сделать, это просто игнорировать его и продолжать кодировать. Возможно, обратитесь в техническую поддержку Github.
В противном случае, ваш другой вариант - переписать историю, чтобы сделать ваш подкаталог главным каталог . Это сохранит историю, но изменит все ваши идентификаторы фиксации, которые могут сбросить ссылки в сообщениях журнала и трекерах выдачи. (Я действительно помню инструмент, который изменял бы идентификаторы фиксации в сообщениях журнала, но я не могу вспомнить его.)
Comments