Как сохранить вину Git в отношении файлов, перемещаемых из одного хранилища в другое? - PullRequest
0 голосов
/ 23 февраля 2019

Я часто хочу задать вопрос тому, кто написал функцию, но теперь я не могу без обратной ссылки на архивное моно репо, потому что вся история принадлежит одному парню, который переместил файлы «неправильно».(Просто в кавычках, потому что я не вижу проблем, кроме git blame)

Было бы очень полезно сохранить информацию git blame из старого репозитория, где были созданы файлы.Это возможно?Было много коммитов и рефакторингов с тех пор, как была сделана оригинальная копия в другой репо.Старый репо является полезной ссылкой на моно-репо архива, и на данный момент он не используется.

Я полагаю, что это было бы возможно, если бы исходный ход был сделан путем перезаписи оригинала / мастера с новым местоположением репо, как ямы делали это раньше и сохранили историюНо теперь, когда над этим было проделано так много работы, я не знаю, как решить проблему.

Потенциальная идея:

  1. Клонировать или обрабатывать архивное моно-репо
  2. Найти точный коммит с нужной историей из архивного репо, который использовался для запуска нового репо
  3. Извлеките новую ветвь recovery_blame, чтобы выполнить работу по слиянию в
  4. Измените origin / master remote, чтобы он указывал на новое репо
  5. Я считаю, что единственный вариант здесь - это переназначить master на веткуrecover_blame?Слияние не возместит первоначальную вину мерзавца?

Я полагаю, что есть огромная оговорка с перебазировкой мастера, которая полностью испортит всех с ответвлениями, не так ли?Это нарушает золотое правило перебазирования, не перебрасывайте ветку, кто-то другой уже начал отрабатывать.Я думаю, что это сработало бы, если бы мы все согласились на это и сделали это, но никогда не будет подходящего времени для этого.Есть ли более безопасный способ вернуть историю вины, не нарушая всех?

1 Ответ

0 голосов
/ 23 февраля 2019

В одну сторону: используйте git replace

  • , добавьте старый репо в качестве удаленного
  • извлекайте
  • git replace [first new commit] [old matching commit]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...