Изменение имени подпапки в git проекте без потери истории файлов? - PullRequest
4 голосов
/ 29 июня 2010

Кстати, я довольно новичок в git, использую в основном gitgui.

Когда я изменяю имя уже отслеживаемой папки, содержащей уже отслеженные файлы в моем проекте, git видит все файлы в папке какновые неотслеживаемые файлы.Как заставить git понять, что я только изменил имя папки, чтобы не «потерять» историю файлов, содержащихся в этой папке?

Ответы [ 3 ]

5 голосов
/ 29 июня 2010

Git не заботится о ваших файлах или папках. Там я это сказал. Он отслеживает ваш контент. После того, как вы переместите ваши файлы, он будет отображаться в состоянии git как удаление набора файлов / папок и создание файлов / папок. После вашей фиксации Git обнаружит, что он уже видел именно этот контент, и сможет следить не только за «файлами» и «папками», но даже если вы переместили код из одного файла в другой по способу управления чанками.

Добро пожаловать в Git!

2 голосов
/ 29 июня 2010

Git явно не отслеживает ходы / переименования или копии. Вместо этого он обнаруживает их, когда его просят. Сделай ход и беги git diff -M.

1 голос
/ 29 июня 2010

Вот несколько примеров, показывающих, что Git действительно отслеживает содержимое:

  1. Опция -CCC git blame может найти строки, которые были перемещены между файлами и ревизиямии связать правильное обвинение.
  2. Опция --find-copy-hardder семейства git diff , git format-patch и gitlog иллюстрируют ту же точку.Для связанной заметки, выполните format-patch с atleast -C при отправке исправлений в проекты.

Поэтому вам не нужно явно сообщать Git о копиях или перемещениях: он обнаружит ихавтоматически.

...