Ich habe gerade gelesen die git-blame Handbuch Seite noch einmal und bemerkte diesen Teil:Wie kann ich mit git kopierten Code erkennen?
Eine besonders nützliche Art und Weise zu sehen, ob eine zusätzliche Datei durch Kopieren und Einfügen aus vorhandenen Dateien erstellt Linien. Manchmal deutet dies darauf hin, dass der Entwickler nachlässig war und den Code nicht richtig umgestaltet hat. Sie können zuerst finden das Commit, dass die Datei eingeführt mit:
git log --diff-filter = A --pretty = short - foo
und dann die Änderung zwischen dem mit Anmerkungen versehen begehen und seine Eltern, mit begehen ^! Notation:
git Schuld -CC -f $ commit ^! - foo
Das klingt ziemlich interessant, aber ich weiß nicht ganz, wie es funktioniert, und warum. Ich frage mich, ob es in einem Git-Hook verwendet werden kann, um Kopie & eingefügten Code zu erkennen.
Kann ein Git Experte erklären die Wirkung der Verwendung der oben genannten Git-Befehle zusammen, und ob es möglich ist, etwas zu verwenden, um git zeigen, ob es Code-Duplikation (vielleicht mit dem 'Ähnlichkeitsindex', die git scheint berechnet beim Umbenennen von Dateien)?
Danke für die Erklärungen! Die doppelte '-C-C'-Flagge, um Schuldzuweisungen zu machen, sieht wirklich interessant aus –