Я только что прочитал страницу git-blame вручную еще раз и заметил эту часть:Как определить код и вложенный код с помощью git?
Особенно полезным способом является, чтобы увидеть, если добавленный файл имеет линии, созданные копирования и вставки из существующих файлов. Иногда это указывает на то, что разработчик был неаккуратным и не реорганизовал код должным образом. Вы можете сначала найти коммит, который ввел файл:
журналамерзавец --diff-фильтр = A --pretty = короткий - Foo
, а затем аннотировать изменения между коммит и его родителей, используя совершить ^! Обозначение:
git обвинение -C -C -f $ commit ^! - foo
Это звучит довольно интересно, но я не совсем понимаю, как это работает, и почему. Интересно, можно ли его использовать в git-крюке для обнаружения скопированного кода &.
Может ли какой-либо специалист по git объяснить причину использования приведенных выше команд git, и можно ли использовать что-то подобное, чтобы git показывал, есть ли дублирование кода (возможно, используя «индекс подобия», который git кажется вычисляется при переименовании файлов)?
Спасибо за объяснения! Двойной флаг «-C-C» для git-вины выглядит действительно интересным –