Question

J'ai besoin d'obtenir des différences dans mon dépôt qui ne sont pas relatives à la base du dépôt, mais plutôt par rapport à une base donnée ou à un chemin donné.

Par défaut j'obtiens :

git diff
diff --git a/path/to/file b/path/to/file
index 0cc125e..9bf911e 100644
--- a/path/to/file
+++ b/path/to/file

Mais ce que je veux, c'est quelque chose comme :

git diff --prefix=/new/path/to
diff --git a/new/path/to/file b/new/path/to/file
index 0cc125e..9bf911e 100644
--- a/new/path/to/file
+++ b/new/path/to/file

J'ai examiné l'option --relative (pas ce que je recherche), le préfixe --src/dst (ceux-ci ne peuvent modifier que les parties "a" ou "b".Est-ce que j'ai raté quelque chose de basique ?

Était-ce utile?

La solution

Semble être --src-prefix et --dst-prefix sont ce que tu demandes :

$ cd .../git/builtin
$ ed - var.c << end
> 0a
> xxx
> .
> wq
> end
$ git diff
diff --git a/builtin/var.c b/builtin/var.c
index aedbb53..5210013 100644
--- a/builtin/var.c
+++ b/builtin/var.c
@@ -1,3 +1,4 @@
+xxx
 /*
  * GIT - The information manager from hell
  *

(jusqu'à présent, assez standard ;maintenant:)

$ git diff --src-prefix=a/new/ --dst-prefix=b/new/
diff --git a/new/builtin/var.c b/new/builtin/var.c
index aedbb53..5210013 100644
--- a/new/builtin/var.c
+++ b/new/builtin/var.c
@@ -1,3 +1,4 @@
+xxx
 /*
  * GIT - The information manager from hell
  *

Vous pouvez combiner cela avec --relative:

$ git diff --relative --src-prefix=a/new/ --dst-prefix=b/new/
diff --git a/new/var.c b/new/var.c
index aedbb53..5210013 100644
--- a/new/var.c
+++ b/new/var.c
@@ -1,3 +1,4 @@
+xxx
 /*
  * GIT - The information manager from hell
  *
$ 

Autres conseils

git diff imprime les chemins (des fichiers modifiés) à partir de la racine du dépôt - peu importe où vous vous trouvez lors de l'exécution de la commande.

git diff --relative imprimera les chemins à partir du répertoire dans lequel vous vous trouvez.

Donc, si vous avez besoin de chemins ne commençant pas à partir de la racine du dépôt, descendez (cd) vers le répertoire (dans votre arborescence de dépôt) à partir duquel vous avez vos chemins de départ.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top