2010-06-28 3 views
4

FYI, я довольно новичок в git, используя в основном gitgui.Изменение имени подпапки в проекте git без потери истории файлов?

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

ответ

6

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

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

2

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

1

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

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

Таким образом, вам не нужно явно указывать Git о копиях или перемещениях: оно будет автоматически обнаруживать их.

 Смежные вопросы

  • Нет связанных вопросов^_^