Как скопировать историю одного файла из старого репозитория Git в новый репо? - PullRequest
0 голосов
/ 17 декабря 2018

Я хотел сделать мой оригинальный сложный вопрос намного проще.

У меня есть следующий файл в репо:

E:\\a\b\FooOld\foo.java

Я скопировал файл в другой каталог несколько недель назад с новым репо:

E:\\c\d\FooNew\foo.java

IsЕсть ли способ скопировать историю файла foo.java из старого репозитория в новый репозиторий?

1 Ответ

0 голосов
/ 17 декабря 2018

Это буквально невозможно, по той простой причине, что в Git нет такой вещи, как «история файлов».В Git история - это просто набор всех коммитов .Если вы добавляете коммиты, вы добавляете историю.Что бы там ни было, это история.И каждый коммит представляет полный снимок всех ваших файлов (ну, все файлы, которые находятся в этом коммите, но это немного избыточно).

Вы можете попросить git log показать вам коммиты, которые изменяют какой-то конкретный файл.Это работает так, что git log перемещается по истории - назад, через каждый коммит, по одному, другими словами - и сравнивает все файлы в этом коммите с все файлы в предыдущем коммите. Если один конкретный файл, который вас интересует, изменился, git log сейчас показывает этот коммит.Затем он переходит - точнее, назад - к предыдущему коммиту, независимо от того, показывал ли он этот коммит или нет, и показывает, , что коммит использует то же правило и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...