Python comparer deux fichiers

La commande git diff montre les différences entre les fichiers de deux commits ou entre votre référentiel actuel et un commit précédent. Cette commande affiche les modifications indiquées par les en-têtes et les métadonnées des fichiers qui ont été modifiés.

Lorsque vous travaillez avec le système de contrôle de version Git, vous souhaiterez peut-être comparer les données de votre référentiel avec un autre la source de données. Par exemple, vous pouvez comparer deux commits différents entre eux, ou deux fichiers.

C’est là qu’intervient la fonction diff. Diffing est une fonction qui accepte deux entrées et présente les changements qui existent entre ces sources de données. Les fonctions de diff peuvent être exécutées sur des branches, des fichiers et des commits.

Ce tutoriel abordera, avec des exemples, les bases de la diff avec Git et comment utiliser la commande git diff. √Ä la fin de la lecture de ce tutoriel, vous serez un expert dans l’utilisation de la commande git diff.

Commande Git Diff

La commande git diff affiche les différences entre les fichiers dans deux commits ou entre un commit et votre référentiel actuel. Vous pouvez voir à quel texte a été ajouté, supprimé et modifié dans un fichier.

Voici la syntaxe de la commande git diff :

Par défaut, la commande git diff affiche toutes les modifications non validées dans votre référentiel.

Nous pouvons voir les lignes supprimées de notre fichier d’origine ainsi que toutes les lignes ajoutées ou modifiées dans notre fichier d’origine. Souvent, Git diff est utilisé pour comparer les branches d’un référentiel Git.

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi en technologie après avoir assisté à un bootcamp. Soyez jumelé à un bootcamp aujourd’hui.

Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.

Vous pouvez comparer les fichiers entre deux Commits Git en spécifiant le nom de la référence qui fait référence aux commits que vous souhaitez comparer. Une référence peut être un identifiant de validation ou un HEAD, qui fait référence à la branche actuelle.

Comparons deux commits dans notre dépôt Git.

Pour ce faire, vous devez d’abord récupérer l’ID des commits dont vous veux comparer. Vous pouvez accomplir cette t√¢che à l’aide de la commande git log ‚Äìpretty=oneline, qui renvoie un bref résumé de tous les commits dans un dépôt :

Cette commande renvoie :

2 >La commande ci-dessus effectuera une opération diff sur nos deux commits.

Git Diff Between Branches

Pour comparer deux branches Git à l’aide de la commande diff, spécifiez les deux branches que vous voulez comparer comme arguments. Vous devez utiliser deux points entre chaque nom de branche. Ces points indiquent que vous voulez lire le dernier commit dans chacune des branches et les comparer :

Supposons que nous voulait comparer la branche "master" avec une branche appelée "dev-v0.9" dans notre référentiel. Nous pourrions le faire en utilisant cette commande :

Lorsque cette commande est exécutée, un diff sera exécuté entre le "master‚" et " dev-v0.9" dans notre base de code.

De même, vous pouvez comparer des fichiers spécifiques sur deux branches différentes. ainsi, vous pouvez utiliser la même syntaxe que ci-dessus et spécifier en plus le fichier que vous souhaitez comparer.

Supposons que nous voulions comparer le fichier README.md à travers notre "master‚" et "dev-v0.9" branches. Nous pourrions le faire en utilisant ce code :

Cela comparera le fichier README.md (qui se trouve dans notre répertoire actuel, désigné par la syntaxe "./‚") à travers le "master‚" et "dev-v0.9" branches.

Exemple de commande Git Diff

Supposons que nous ayons initialisé un référentiel vierge et que nous souhaitions démarrer notre référentiel avec un fichier README.md. Nous avons créé un fichier README.md dans notre référentiel qui contient la phrase suivante :

Ceci est un exemple de la fonctionnalité Git diff.

Préparer les fichiers et valider

Nous allons créer un commit avec ce fichier en utilisant la commande git commit :

Cela nous permet de sauvegarder les modifications que nous avons apportées à notre référentiel. La commande git renvoie :

Si nous exécutons la commande git diff à ce stade, rien ne se passera. C’est parce que notre référentiel a été initialisé et qu’il n’y a aucun changement entre les fichiers de notre référentiel. Maintenant que nous avons un référentiel de base, nous pouvons modifier le contenu des fichiers de notre référentiel. Cela nous permettra de voir la commande git diff en action.

Supposons que nous voulions ajouter la phrase "Nous venons d’ajouter cette ligne à notre fichier.‚" dans le fichier README.md. Nous pourrions le faire en utilisant cette commande :

"Career Karma est entré dans ma vie au moment o√π j’en avais le plus besoin et m’a rapidement aidé à suivre un bootcamp. Deux mois après avoir obtenu mon diplôme, j’ai trouvé l’emploi de mes rêves qui correspondait à mes valeurs et objectifs dans la vie !"

Vénus, ingénieur logiciel chez Rockbot

La commande ci-dessus ajoute notre phrase au fichier README.md.

Cela signifie qu’il y a maintenant une différence entre notre fichier README.md initial et le fichier README.md actuel dans notre référentiel.

En exécutant la commande git diff, nous pouvons voir les différences entre ces deux fichiers. Par défaut, la commande git diff produit un diff pour tous les fichiers entre le dernier commit et l’état actuel du dépôt.

Exécuter un Git Diff entre les commits

Lorsque nous exécutons la commande, la réponse suivante est renvoyée :

Ceci est un exemple de la fonctionnalité Git diff.

Ceci est un résultat typique de la commande git diff. Notre résultat montre ce qui a été ajouté ou supprimé dans notre fichier dans un format diff combiné.

La commande git diff renvoie une liste de toutes les modifications apportées à tous les fichiers entre notre dernier commit et notre référentiel actuel.

Si vous voulez récupérer les modifications apportées à un fichier spécifique dans un référentiel, vous pouvez spécifier ce fichier comme troisième paramètre. Supposons que nous souhaitions uniquement voir les modifications apportées au fichier README.md.

Dans cet exemple, nous n’avons modifié que le fichier README.md, de sorte que seules ces modifications seraient affichées de toute façon. Mais si nous travaillions avec un dépôt plus important, nous souhaiterions peut-être comparer uniquement les modifications d’un seul fichier. Pour ce faire, nous pourrions utiliser cette commande :

Cette commande nous permet de comparer notre version actuelle du fichier README.md avec la dernière version validée dans notre référentiel.

Git Diff Breakdown

Les diffs Git comportent un numéro de composants que nous pouvons utiliser pour analyser les changements entre un fichier dans un référentiel. Décomposons-les, en référence à notre exemple précédent.

Fichiers d’entrée

Le premier composant de notre diff est les fichiers d’entrée. Cette partie du diff nous indique quels fichiers sont comparés dans le diff.

Nous comparons le fichier README.md dans la version actuelle de notre code au fichier README.md dans la dernière version de notre code. Ceci est indiqué sur la première ligne de notre code :

Métadonnées

Ensuite, notre diff contient les métadonnées pour notre référentiel Git. Ces métadonnées affichent les étiquettes de version d’objet utilisées par Git pour suivre les modifications que vous avez apportées à un fichier.

Ces informations sont rarement utilisées dans la plupart des cas de la commande diff. Dans notre exemple ci-dessus, les métadonnées ressemblent à ceci :

Change Markers

La partie suivante de la sortie Git diff est le marqueurs de changement. Ces marqueurs de modèle de fichier nous indiquent quel type de modifications ont été apportées à nos fichiers. Les marqueurs de changement pour notre exemple ci-dessus sont :

Ces marqueurs nous indiquent que les changements par rapport à a/README.md ont été faites (indiquées par les signes moins), qui sont reflétées dans b/README.md (indiquées par les signes plus).

Changements de code

Enfin, notre diff renvoie un liste des modifications apportées à notre code. Contrairement à une comparaison complète de fichiers, les différences n’affichent que les sections d’un fichier qui ont été modifiées. Dans notre exemple, nous avons ajouté une ligne à notre fichier, qui a renvoyé le résultat suivant :

La première ligne est un résumé des modifications apportées à notre fichier. Cela nous indique que nous avons ajouté une ligne de code à notre fichier (+1) en commençant par la deuxième ligne (2).

Ensuite, nous est montré une liste des modifications apportées. Comme vous pouvez le voir, parce que nous avons ajouté la ligne "Nous venons d’ajouter cette ligne à notre fichier.", cette ligne apparaaît dans notre diff. Le signe plus nous indique que nous avons ajouté cette ligne au fichier.

Conclusion

La différence est une fonction utile dans Git qui vous permet de comparer deux fichiers, branches ou commits dans un Dépôt Git. Cela vous permet de voir quelles modifications ont été apportées depuis un certain point dans votre référentiel.

Ce tutoriel a traité des bases de la comparaison avec Git et de la façon d’utiliser la commande git diff pour effectuer une opération de comparaison. Vous disposez désormais des connaissances nécessaires pour commencer à utiliser la commande git diff comme un expert !

Pour plus de ressources d’apprentissage sur Git, consultez notre Comment apprendre le guide Git.