Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Visual Studio 2019 | Visual Studio 2022
Git utilise des métadonnées de validation telles que les liens parent, les détails de l’auteur et les horodatages pour suivre l’historique des modifications dans un référentiel. Vous pouvez consulter l’historique Git pour savoir quand les fichiers ont changé, qui les a modifiés et quelles modifications ont été apportées.
Lorsque des personnes créent et fusionnent des branches de fonctionnalités dans une branche cible à l’aide de pull requests , l’historique de développement de la branche cible peut ne pas suivre une ligne chronologique continue. Par conséquent, lorsque vous passez en revue l’historique des modifications apportées à un fichier sur la branche cible, gardez à l’esprit que l’ordre des validations est influencé par stratégie de fusion et la date de fusion, pas seulement la date d’origine des modifications. Par exemple, la validation la plus récente sur la main branche peut introduire une modification effectuée il y a des semaines dans un branche de fonctionnalité récemment fusionnée dans la branche main à l’aide d’une fusion triple.
Pour savoir comment utiliser Visual Studio 2022 avec Git, consultez Comment Visual Studio facilite le contrôle de version avec Git.
Conditions préalables
| Catégorie |
Spécifications |
|
Accès au projet |
Membre d’un projet. |
|
Permissions |
- Afficher le code dans les projets privés : accès basique minimum. - Cloner ou contribuer au code dans des projets privés : membre du groupe de sécurité Contributeurs ou des autorisations correspondantes dans le projet. - Définir des autorisations de branche ou de référentiel : Gérer les autorisations pour la branche ou le référentiel. - Modifier la branche par défaut : modifier les autorisations des stratégies pour le référentiel. - Importer un référentiel : membre du groupe de sécurité Administrateurs de projets ou autorisation pour Créer un référentiel au niveau du projet Git définie sur Autoriser. Pour plus d'informations, voir Définir les autorisations de référentiel Git. |
|
Services |
Référentiels activés. |
|
Outils |
Optionnel. Utilisez les commandes az repos : Azure DevOps CLI. |
Remarque
Dans les projets publics, les utilisateurs disposant de l’accès Stakeholder ont un accès complet à Azure Repos, y compris l’affichage, le clonage et la contribution au code.
| Catégorie |
Spécifications |
|
Accès au projet |
Membre d’un projet. |
|
Permissions |
- Afficher le code : accès basique minimum. - Cloner ou contribuer au code : membre du groupe de sécurité Contributeurs ou des autorisations correspondantes dans le projet. |
|
Services |
Référentiels activés. |
Comparer les versions de fichiers
Lorsque vous souhaitez déterminer comment et quand une modification de fichier particulière s’est produite, vous devrez peut-être comparer différentes versions du même fichier à partir de validations différentes, éventuellement dans différentes branches.
Le site de projet d’équipe Azure DevOps vous permet de comparer deux versions du même fichier à partir de validations dans la même branche, mais ne prend pas en charge la comparaison des versions de fichiers entre les branches.
À partir de votre navigateur web, ouvrez le projet d’équipe pour votre organisation Azure DevOps. Dans la vue Fichiers du >référentiel, sélectionnez un fichier et choisissez l’onglet Comparer.
Sous l'onglet Compare, choisissez les deux commits qui contiennent les versions de fichier que vous souhaitez comparer. La vue diff affiche les lignes de fichiers nouvelles, supprimées ou modifiées.
Remarque
GitHub vous permet de comparer deux versions du même fichier à partir de validations différentes entre différentes branches. Pour comparer, ajoutez /compare/<commit1>..<commit2> à votre URL de dépôt GitHub pour accéder à la page de comparaison. La page de comparaison contient une vue des différences pour chaque fichier modifié. Pour plus d’informations sur la comparaison des validations dans GitHub, consultez Comparaison des validations.
Visual Studio 2022 offre une expérience de contrôle de version Git à l’aide du menu Git, des modifications Git, et des menus contextuels dans l’Explorateur de solutions . Visual Studio 2019 version 16.8 offre également l’interface utilisateur Team Explorer Git. Pour plus d’informations, consultez l’onglet Visual Studio 2019 - Team Explorer.
Visual Studio vous permet de comparer deux versions du même fichier dans la même branche, mais ne prend pas en charge la comparaison des versions de fichiers entre les branches.
Dans Explorateur de solutions, sélectionnez un fichier et choisissez Historique de l’affichage Git> depuis le menu contextuel du fichier pour ouvrir l’onglet Historique Git du fichier sélectionné.
Dans l’onglet Historique Git, choisissez Comparer avec le précédent dans le menu contextuel d’une validation pour ouvrir un onglet Diff qui compare la validation sélectionnée avec la validation précédente.
Vous pouvez également sélectionner deux validations et choisir Comparer dans le menu contextuel de la validation pour ouvrir un onglet Diff qui compare les deux validations sélectionnées.
L’onglet Diff affiche les lignes de fichiers nouvelles, supprimées ou modifiées.
Team Explorer ne prend pas en charge cette fonctionnalité.
La commande git diff peut comparer différentes versions du même fichier depuis des validations différentes entre différentes branches. La commande du journal git peut vous aider à identifier les validations qui contiennent les versions de fichier que vous souhaitez comparer.
Utilisez git log et spécifiez un fichier pour répertorier les validations qui ont changé le fichier :
git log <file>
Par défaut, la sortie de commande commence par la validation la plus récente dans la branche actuelle, puis itère vers l’arrière par les validations ancêtres (quelle que soit la branche) en suivant les liens parent dans les métadonnées de chaque validation.
Voici un exemple de sortie pour la commande git log index.html:
commit bbc3b679197b659544a6f8070c79fb535b496613
Date: Thu Jun 30 13:42:50 2021 -0400
update landing page
commit e5402fe710c25eca1b96a4e238eee9c01ed41c6a
Date: Thu Jun 30 13:42:23 2021 -0400
initial commit
Utilisez git diff et spécifiez un fichier et deux validations pour voir comment les versions de fichier validées diffèrent :
git diff <commit1> <commit2> <file>
Voici un exemple de sortie pour la commande git diff bbc3b67 e5402fe index.html:
- <link rel="stylesheet" href="app.cs"/>
+ <link rel="stylesheet" href="fabrikam.cs"/>
La sortie indique qu’une ligne a été supprimée et qu’une ligne a été ajoutée.
Limiter la sortie du journal Git
Pour limiter] les validations répertoriant git log, vous pouvez filtrer par auteur, date, message, contenu modifié, etc. Par exemple:
git log --author=frank@fabrikam.com index.html répertorie uniquement les validations par l’auteur spécifié.
git log --since="2022-5-1" répertorie uniquement les validations créées après la date spécifiée.
git log --before="yesterday" répertorie uniquement les validations créées avant la date relative spécifiée.
git log --grep="css change" répertorie uniquement les validations avec le texte spécifié dans leur message.
git log -S"myVariable" répertorie uniquement les validations qui introduisent ou suppriment la chaîne spécifiée.
git log -G"myVar.*" répertorie uniquement les validations qui introduisent ou suppriment la chaîne regex spécifiée.
git log -3 répertorie uniquement les trois derniers commits.
Vous disposez de plusieurs options de format pour la liste de commits. Par exemple:
git log --abbrev-commit répertorie les validations à l’aide d’un ID abrégé (somme de contrôle SHA-1).
git log --oneline répertorie chaque validation dans un format abrégé à une seule ligne.
git log --patch index.html répertorie chaque validation avec un diff des modifications.
Restaurer des fichiers
Vous pouvez restaurer une version spécifique d’un fichier à partir de l’historique Git, même si le fichier a été modifié, supprimé ou renommé dans une validation ultérieure. La restauration d'une version antérieure d'un fichier ne crée pas un nouveau commit des modifications. Pour mettre à jour votre branche avec la version de fichier restaurée, vous devez valider la modification.
Le site de projet d’équipe Azure DevOps vous permet de rétablir toutes les modifications apportées par une validation spécifique, mais ne prend pas en charge la restauration des modifications apportées à un fichier spécifique au sein de la validation.
Visual Studio vous permet de comparer deux versions du même fichier dans la même branche, mais ne prend pas en charge la comparaison des versions de fichiers entre les branches.
Dans Explorateur de solutions, sélectionnez un fichier et choisissez Historique de l’affichage Git> depuis le menu contextuel du fichier pour ouvrir l’onglet Historique Git du fichier sélectionné.
Dans l’onglet Historique Git, choisissez Comparer avec le précédent dans le menu contextuel d’une validation pour ouvrir un onglet Diff qui compare la validation sélectionnée avec la validation précédente.
Vous pouvez également sélectionner deux validations et choisir Comparer dans le menu contextuel de la validation pour ouvrir un onglet Diff qui compare les deux validations sélectionnées.
L’onglet Diff affiche les lignes de fichiers nouvelles, supprimées ou modifiées.
Visual Studio 2019 version 16.8 et versions ultérieures fournit une expérience de contrôle de version Git tout en conservant l’interface utilisateur Git de Team Explorer. Pour utiliser Team Explorer, décochez Outils>Options>Fonctionnalités en préversion>Nouvelle expérience utilisateur Git dans la barre de menu.
Dans Explorateur de solutions, sélectionnez un fichier et choisissez Git > Afficher l’historique dans le menu contextuel du fichier pour ouvrir un onglet Historique Git pour le fichier sélectionné.
Sous l’onglet Historique Git, sélectionnez une validation et choisissez Afficher les détails de la validation depuis le menu contextuel de la validation pour ouvrir la vue Détails de la validation.
Dans la vue Détails du commit, sélectionnez le fichier et choisissez Ouvrir dans le menu contextuel du fichier pour ouvrir la version précédente du fichier dans un nouvel onglet.
Choisissez Fichier > Enregistrer sous dans la barre de menus pour enregistrer la version restaurée du fichier.
Vous pouvez utiliser la commande git checkout ou la commande git show pour restaurer une version spécifique d’un fichier depuis l’historique Git.
Extraction git rétablit un fichier à une version précédemment validée si vous spécifiez le fichier et une validation :
git checkout <commit> <file>
Par exemple, git checkout 85435fac src/app.ts rétablit le fichier src/app.ts à sa version du commit 85435fac.
git affiche imprime le contenu d’une version de fichier précédemment validée, que vous pouvez rediriger vers un fichier de sortie :
git show <commit>:<file> > <output file>
Par exemple, git show 85435fac:src/app.ts > /archive/oldapp.ts écrira le contenu de app.ts dans le commit 85435fac vers /archive/oldapp.ts.
comparer des branches.
Vous pouvez comparer toutes les branches locales ou distantes pour passer en revue les modifications qui résulteront d'une fusion ou d'un rebasage . La comparaison des branches vous permet de vérifier les conflits de fusion et de voir comment les modifications apportées par d’autres personnes peuvent affecter votre travail.
Visual Studio 2019 et versions antérieures ne prennent pas en charge la comparaison des branches. Par conséquent, si vous utilisez l’une de ces versions, vous pouvez comparer des branches sur la ligne de commande Git ou à l’aide de votre navigateur web , si votre dépôt est hébergé dans Azure Repos ou GitHub. Visual Studio 2022 prend en charge la comparaison des branches, comme décrit dans Comparer des branches.
À partir de votre navigateur web, ouvrez le projet d’équipe pour votre organisation Azure DevOps. Dans l’affichage Branches de>référentiel, sélectionnez les points de suspension d’une branche et choisissez Comparer les branches pour ouvrir l’affichage Comparaison de branches.
Dans la vue de comparaison des branches , choisissez les deux branches que vous souhaitez comparer. Sélectionnez l’onglet Fichiers pour une vue différentielle des lignes nouvelles, supprimées ou modifiées dans chaque fichier modifié.
Remarque
GitHub prend en charge la comparaison des branches. Pour comparer deux branches, ajoutez /compare/<branch1>...<branch2> à votre URL de dépôt GitHub pour accéder à la page de comparaison. La page de comparaison contient une vue des différences pour chaque fichier modifié. Pour plus d’informations sur la comparaison des branches dans GitHub, consultez Comparaison des branches.
Pour comparer une branche à la branche actuelle, cliquez avec le bouton droit sur une branche dans le volet Branches de votre référentiel, puis sélectionnez l’option comparer. Le menu contextuel spécifie les noms des branches actuelles et cibles :
Visual Studio 2019 ne prend pas en charge la comparaison des branches. Toutefois, vous pouvez comparer des branches sur la ligne de commande git ou à l’aide de votre navigateur web , si votre dépôt est hébergé dans Azure Repos ou GitHub.
Conseil / Astuce
Vous pouvez accéder au portail web à partir de l’affichage Accueil Team Explorer en choisissant Portail web.
Pour comparer deux branches locales ou distantes, vous pouvez utiliser la commande Git diff en spécifiant les noms de branche :
git diff <branch1> <branch2>
Git compare la validation à l’extrémité d’une branche avec la validation au bout de l’autre. La sortie diff affiche les suppressions et les ajouts entre chaque fichier dans les deux branches.
Voici un exemple de sortie pour la commande git diff users/frank/feature origin/main, qui compare une branche locale à une branche distante :
index 36843b8..03afc4b 100644
--- a/tsapp/index.html
+++ b/tsapp/index.html
@@ -4,7 +4,7 @@
<head>
<meta charset="utf-8" />
<title>TypeScript HTML App</title>
- <link rel="stylesheet" href="fabrikam-test.css" type="text/css" />
+ <link rel="stylesheet" href="fabrikam.css" type="text/css" />
<script src="app.js"></script>
</head>
...
--- a/tsapp/app.ts
+++ b/tsapp/app.ts
constructor(element: HTMLElement) {
this.element = element;
- this.element.innerHTML += "The time is: ";
+ this.element.innerHTML += "The time is now: ";
this.span = document.createElement('span');
this.element.appendChild(this.span);
this.span.innerText = new Date().toUTCString();
Pour affiner la comparaison à un fichier spécifique, spécifiez le fichier dans la commande diff :
git diff <branch1> <branch2> <file>
Par exemple, git diff users/frank/feature origin/main index.html génère uniquement une diff pour le fichier index.html.
Étapes suivantes
Articles connexes