310 votes

Obtenir la différence entre deux référentiels

Comment faire la différence entre deux dépôts git ?

Le scénario : Nous avons un repo_a et un repo_b. Ce dernier a été créé comme une copie de repo_a. Il y a eu un développement parallèle dans les deux dépôts par la suite. Existe-t-il un moyen d'énumérer les différences entre les versions actuelles de ces deux référentiels ?

354voto

iamamac Points 3333

In repo_a :

git remote add -f b path/to/repo_b.git
git remote update
git diff master remotes/b/master
git remote rm b

74voto

moose Points 4945

Meld peut comparer les répertoires :

meld directory1 directory2

Il suffit d'utiliser les répertoires des deux repos git et vous obtiendrez une belle comparaison graphique :

enter image description here

Lorsque vous cliquez sur l'un des éléments bleus, vous pouvez voir ce qui a changé.

19voto

M.Kouchi Points 41

Vous pouvez d'abord ajouter une autre prise en pension en tant que télécommande à votre prise en pension actuelle :

git remote add other_name PATH_TO_OTHER_REPO

puis récupérez Brach à partir de cette télécommande :

git fetch other_name branch_name:branch_name

ceci crée cette branche en tant que nouvelle branche dans votre repo actuel, alors vous pouvez différer cette branche avec n'importe laquelle de vos branches, par exemple, pour comparer la branche actuelle à la nouvelle branche(branch_name) :

git diff branch_name

9voto

Une fois que vous avez les deux branches dans un dépôt, vous pouvez faire un git diff. Et les placer dans un seul référentiel est aussi simple que

git fetch /the/other/repo/.git refs/heads/*:refs/remotes/other/*

9voto

James Points 11
git diff master remotes/b

C'est incorrect. remotes/b est une branche distante, mais pas une branche.

Pour que ça marche, je devais faire :

git diff master remotes/b/master

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X