Как сообщить Git, что он получил ходы/переименовывает неправильно (ложные срабатывания)
Я объединяю две ветки в git, имея неделю работы, и некоторые из файлов были перемещены или переименованы и изменены.
Git кажется, что в некоторых случаях материал совершенно не прав, и он говорит, что файл a был перемещен в файл b, когда на самом деле они совершенно не связаны.
У меня довольно много таких ложных срабатываний (примерно 25%). Я хотел бы повлиять на алгоритм использования Git, чтобы выяснить, был ли файл перемещен, переименован или является новым.
- Я хотел бы присвоить более высокий приоритет именам. (файл a был перемещен из папки foo в папку b), но Git настаивает на том, что он был переименован в файл b в папке foo - полностью не связан)
- Я хотел бы увеличить индекс подобия, над которым Git считает, что файл будет переименован/перемещен
Я знаю, что где-то я читал, что могу сделать последнее, и я надеюсь, что смогу сделать и первое, но мои навыки в поисковых системах сегодня не работают.
Ответы
Ответ 1
Я тоже это заметил. Я думаю, что "-find-renames = 90" будет более строгим, чем значение по умолчанию.
Из документации git diff
http://git-scm.com/docs/git-diff
-M [п] --find-переименовывает [= п] Обнаруживать переименования. Если указано n, это является пороговым значением индекса подобия (то есть количества добавлений/удалений по сравнению с размером файлов). Например, -M90% означает, что git должен рассматривать пару delete/add как переименование, если более 90% файла не изменилось.
-C [п] --find-копии [= п] Обнаруживать копии, а также переименовывать. См. Также --find-copy-harder. Если указано n, оно имеет то же значение, что и для -Mn.