Maison > outils de développement > git > le corps du texte

git extrait les fichiers de modification d'intervalle de temps

WBOY
Libérer: 2023-05-20 09:48:37
original
680 Les gens l'ont consulté

Git est un outil de contrôle de version très populaire qui nous permet de gérer facilement les modifications de code et la collaboration. Et lorsque nous devons extraire l’historique des modifications d’un fichier spécifié dans un délai donné, comment devons-nous procéder ? Aujourd'hui, nous allons présenter comment utiliser les commandes Git pour extraire les enregistrements de modification de fichiers dans un intervalle de temps.

Tout d'abord, nous devons comprendre quelques connaissances de base de Git :

  1. Enregistrement de soumission Git

Dans Git, chaque soumission de code sera enregistrée et sauvegardée en tant qu'enregistrement de soumission, ce qui est un commit. Chaque validation possède une valeur de hachage unique utilisée pour distinguer les différents enregistrements de validation.

  1. Historique des soumissions Git

Tous les enregistrements de soumission sont enregistrés dans le référentiel Git, formant un historique de soumission. Nous pouvons utiliser les commandes Git pour afficher l'historique des soumissions, y compris la valeur de hachage, l'auteur, l'heure de soumission, les fichiers modifiés et d'autres informations de chaque soumission.

  1. Intervalle de temps Git

Dans Git, nous pouvons utiliser des intervalles de temps pour représenter une période de temps. Il existe plusieurs façons d'exprimer des intervalles de temps, telles que :

  • Date : 01/01/2019
  • Temps relatif : il y a 2 semaines
  • Période : 01/01/2019..31/12/2019

Compris Après ces connaissances de base, explorons comment extraire les enregistrements de modifications de fichiers dans un intervalle de temps.

Supposons que nous ayons l'historique de soumission suivant :

commit 2942849f3f44e6da111d2b58fe6c24c156835c90
Author: John Doe <john@example.com>
Date:   Mon Feb 22 11:27:23 2021 +0800

    Add README.md

commit e0fdb2b0364a73f347f1a1b46c13bfbd5ac07a08
Author: John Doe <john@example.com>
Date:   Sat Feb 20 14:52:32 2021 +0800

    Fix typo in index.html

commit 71f6be88b1562fe596c69b88ac9f72dbeac78786
Author: Alice Zhang <alice@example.com>
Date:   Fri Feb 19 22:33:12 2021 +0800

    Update index.html

commit 275711456d94c307b6416d94da74e5c8b98497c7
Author: Bob Chen <bob@example.com>
Date:   Thu Feb 18 09:45:43 2021 +0800

    Add new feature

commit fd9bf6e768bb58d2a1ebf0b604805d7cca34c563
Author: Alice Zhang <alice@example.com>
Date:   Wed Feb 17 15:18:02 2021 +0800

    Initial commit
Copier après la connexion

Nous souhaitons extraire tous les fichiers README.md modifiés dont l'heure de soumission était comprise entre le 18 et le 21 février. Vous pouvez utiliser la commande suivante :

git log --since=2021-02-18 
        --until=2021-02-21 
        --pretty=format:"%h - %an, %ar : %s" 
        --name-only 
        --grep='README.md'
Copier après la connexion

Analyse des commandes :

  • git log : afficher l'historique des soumissions
  • --since=2021-02-18 : afficher uniquement les soumissions du 2021-02-18
  • --jusqu'à =2021 -02-21 : Limiter l'affichage aux seules soumissions jusqu'au 2021-02-21
  • --pretty=format : "%h - %an, %ar : %s" : Spécifiez le format d'impression, y compris la valeur de hachage soumise, auteur, heure de soumission et informations de soumission
  • --name-only : affiche uniquement le nom du fichier modifié, pas le contenu modifié du fichier
  • --grep='README.md' : recherche uniquement les fichiers contenant README.md records

Après avoir exécuté la commande ci-dessus, les résultats suivants seront affichés :

2942849 - John Doe, 29 minutes ago : Add README.md
e0fdb2b - John Doe, 2 days ago : Fix typo in index.html
Copier après la connexion

Comme vous pouvez le voir, seuls deux enregistrements de soumission remplissent l'intervalle de temps et les conditions grep. Si nous voulons voir les fichiers spécifiques modifiés dans ces soumissions, nous pouvons ajouter une option --stat :

git log --since=2021-02-18 
        --until=2021-02-21 
        --pretty=format:"%h - %an, %ar : %s" 
        --name-only 
        --grep='README.md' 
        --stat
Copier après la connexion

Analyse des commandes :

  • --stat : Afficher la liste des fichiers modifiés par chaque soumission et la situation globale du fichier modification

Après avoir exécuté la commande ci-dessus, les résultats suivants seront affichés :

2942849 - John Doe, 29 minutes ago : Add README.md
 README.md | 1 +
 1 file changed, 1 insertion(+)

e0fdb2b - John Doe, 2 days ago : Fix typo in index.html
 README.md | 2 ++
 1 file changed, 2 insertions(+)
Copier après la connexion

Comme vous pouvez le voir, la première soumission consiste à ajouter le fichier README.md, et la deuxième soumission consiste à modifier le fichier README.md et ajouté deux lignes.

En plus des méthodes ci-dessus pour afficher l'historique des soumissions, nous pouvons également utiliser la commande git blâme pour afficher l'historique des modifications des fichiers, y compris la valeur de hachage et l'auteur de la soumission.

git blame README.md 
        --since=2021-02-18 
        --until=2021-02-21
Copier après la connexion

Analyse des commandes :

  • git blâme : afficher l'historique des modifications du fichier
  • README.md : spécifier le fichier à afficher
  • --since=2021-02-18 : limiter l'affichage à ceux commençant à partir de 2021-02-18 Historique des modifications
  • --until=2021-02-21 : limite pour afficher uniquement l'historique des modifications jusqu'au 2021-02-21

Après avoir exécuté la commande ci-dessus, les résultats suivants seront affichés :

2942849f (John Doe 2021-02-22 11:27:23 +0800 1) This is a README file.
e0fdb2b0 (John Doe 2021-02-20 14:52:32 +0800 2) It contains information about the project.
e0fdb2b0 (John Doe 2021-02-20 14:52:32 +0800 3)
e0fdb2b0 (John Doe 2021-02-20 14:52:32 +0800 4) Update: fix typo.
Copier après la connexion

Comme vous pouvez le voir, les premières lignes 1 et 4 sont deux soumissions différentes, toutes deux soumises par John Doe.

Pour résumer, nous pouvons utiliser les commandes Git pour extraire les enregistrements de modification de fichiers dans un intervalle de temps. Ces commandes sont faciles à maîtriser et ne nécessitent que la compréhension de quelques concepts et paramètres de base. Lorsque nous devons afficher l'historique des modifications du code au cours d'une certaine période de temps, ces commandes peuvent nous aider à localiser rapidement les enregistrements de soumission pertinents et à afficher les fichiers et le contenu modifiés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!