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 :
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.
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.
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 :
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
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'
Analyse des commandes :
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
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
Analyse des commandes :
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(+)
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
Analyse des commandes :
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.
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!