Il s'agit essentiellement de deux versions dépendantes du contexte de l'opération. La réponse de Jaap chacun avec un bonus :
Avant de courir git diff --no-index
vous pouvez définir diff.colorMoved
dans la configuration de Git. Alternativement, vous pouvez inclure un --color-moved
au lieu de la définir globalement.
diff.colorMoved
les paramètres utilisent une couleur de ligne différente lorsque des lignes retirées d'un endroit apparaissent ailleurs dans le diff... qu'elles aient été déplacées dans le fichier ou dans un autre fichier, comme dans un refactor.
Séries complètes ou presque complètes
Vous avez des fichiers dans un répertoire, current-version
que vous voulez comparer à d'autres fichiers. Si l'ensemble des fichiers auxquels vous voulez les comparer en new-version
est presque identique dans son contenu, utilisez simplement la suggestion de Jaap :
git diff --no-index current-version/ new-version/
Fichiers spécifiques à comparer
S'il n'y a qu'une poignée de fichiers dans une version et beaucoup de fichiers dans l'autre, comme ceci,
current-project
| (various folders)
| src
| (various files)
| foo.c
| bar.c
proposed-replacements
new-foo.c
new-bar.c
...vous pouvez essayer de laisser la détection de renommage de Git faire le travail. Je ne sais pas quelle version de Git ajoute le degré de détection des renommages qui est nécessaire pour faire cela (j'utilise la v2.18). De plus, les tests que j'ai effectués portaient sur un ensemble de fichiers assez trivial.
Vous n'avez pas vraiment envie de voir que la majorité des fichiers sont "manquants" en proposed-replacements
. Aussi, vous ne voulez pas prendre la peine de donner proposed-replacements
Le nom et le chemin d'accès de ces fichiers sont les mêmes que ceux qui figurent dans la base de données de l'UE. current-project
Vous les laissez donc là où ils étaient et vous mettez un filtre qui n'inclut que les fichiers renommés et modifiés.
git diff --no-index --diff-filter=RM current-project/ proposed-replacements/
diff --git a/current-project/src/foo.c b/proposed-replacements/new-foo.c
similarity index 65%
rename from current-project/src/foo.c
rename to proposed-replacements/new-foo.c
index dd51990..64445b1 100644
--- a/current-project/src/foo.c
+++ b/proposed-replacements/new-foo.c
@@ -1,4 +1,4 @@
octopus
cow
-dog
tiger
+flamingo
diff --git a/current-project/src/bar.c b/proposed-replacements/new-bar.c
similarity index 87%
rename from current-project/src/bar.c
rename to proposed-replacements/new-bar.c
...