10 techniques Git avancées - KDnuggets

10 techniques Git avancées – KDnuggets

Nœud source: 3083811

10 techniques Git avancées
Image de l'auteur
 

Vous êtes-vous déjà demandé ce que vous pourriez faire pour ressembler à un pro devant votre manager lorsque vous utilisez Git ? Dans cet article, nous découvrirons 10 techniques et raccourcis Git avancés qui vous rendront plus efficaces dans la gestion des versions, la maintenance et le partage du code.

Vous connaissez probablement déjà les bases du commit, du push, du pull et du branchement avec Git. Mais il existe de nombreuses commandes et fonctionnalités moins connues qui peuvent améliorer vos compétences. Après avoir lu ceci, vous aurez quelques astuces dans votre sac pour impressionner vos collègues avec votre maîtrise de Git.

Vous avez ajouté et validé les fichiers de cette façon plusieurs fois, mais que se passe-t-il si je vous dis que cela peut être fait sur une seule ligne avec l'indicateur « -am » ? 

$ git add .
$ git commit -m "new project"

 

Essayez ceci à la place, et cela ajoutera les modifications du fichier et créera la validation en utilisant le message. 

$ git commit -am "new project"

 

[master 17d7675] new project
4 files changed, 2 insertions(+), 1 deletion(-)

 

Vous pouvez renommer votre message de validation actuel en utilisant l'indicateur « –amend » et écrire le nouveau message. Cela vous aidera avec les messages accidentels.

$ git commit --amend -m "Love"

 

[master 7b7f891] Love
Date: Mon Jan 22 17:57:58 2024 +0500
4 files changed, 2 insertions(+), 1 deletion(-)

 

Vous pouvez inclure des modifications supplémentaires au commit actuel avant de le transférer vers le référentiel distant. Pour ce faire, vous devez ajouter les modifications du fichier, puis valider en utilisant l'indicateur « –amend ». Pour conserver le message de validation précédent, utilisez simplement l'indicateur « –no-edit ».

$ git add . 
$ git commit --amend --no-edit

 

[master f425059] Love
Date: Mon Jan 22 17:57:58 2024 +0500
6 files changed, 2 insertions(+), 34 deletions(-)

Si vous souhaitez pousser une validation locale et remplacer l'historique distant sans résoudre les problèmes, vous pouvez utiliser l'indicateur « –force ». Cependant, il est important de noter que l'utilisation de l'indicateur de force n'est pas recommandée et ne doit être utilisée que lorsque vous êtes absolument sûr de ce que vous faites. Gardez à l’esprit que l’utilisation de l’indicateur de force réécrira l’historique distant.

$ git push origin master --force

 

Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 357 bytes | 357.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/kingabzpro/VSCode-DataCamp.git
8f184d5..f425059  master -> master

Pour annuler un commit dans Git, vous pouvez utiliser la commande « revert ». Cependant, cette commande ne supprime aucun commit. Au lieu de cela, il crée un nouveau commit qui annule les modifications apportées par le commit d'origine.

Nous utiliserons le `log` avec l'indicateur `–oneline` pour afficher l'historique des validations sous une forme plus courte. 

$ git log --oneline

 

f425059 (HEAD -> master, origin/master) Love
8f184d5 first commit

 

Pour revenir à un commit précédent, nous utilisons la commande `git revert` suivie de l'ID du commit. Cela crée un nouveau commit avec les modifications du commit précédent.

$ git revert 8f184d5

Vous souhaitez augmenter votre productivité sur GitHub ? Avec GitHub Code Spaces, vous pouvez désormais modifier et exécuter votre code directement dans votre navigateur. 

Pour accéder à cette fonctionnalité, accédez simplement à votre référentiel préféré, appuyez sur la touche point (« ») de votre clavier et il vous redirigera vers l'interface utilisateur de VSCode.

 

10 techniques Git avancées
Image de l'auteur
 

Vous pouvez apporter des modifications au code et les transférer vers votre référentiel distant. Cependant, si vous souhaitez exécuter le code dans le terminal, vous devez exécuter le Codespace dans le cloud. La version gratuite offre une excellente option pour exécuter votre code Python dans votre navigateur. N'est-ce pas génial ? Je viens de l'apprendre aujourd'hui.

 

10 techniques Git avancées
Image de l'auteur

Lorsque vous travaillez sur un projet, vous pouvez ajouter des fichiers à une zone de préparation, puis les valider pour enregistrer votre progression actuelle. Cependant, il existe un autre moyen de sauvegarder facilement votre travail en utilisant la commande « stash ». Lorsque vous utilisez « stash », vous enregistrez votre progression actuelle sans l'ajouter à la zone de préparation ni la valider. Cela vous permet de sauvegarder votre progression et de la restaurer chaque fois que vous en avez besoin.

Nous sauvegarderons notre progression actuelle en fournissant un nom et en le mettant en cache. 

$ git stash save new-idea

 

Saved working directory and index state On master: new-idea

 

Vous pouvez consulter votre liste de cachette et noter l'index correspondant pour la récupérer.

$ git stash list

 

stash@{0}: On master: new-idea

 

Notre réserve de « nouvelles idées » est enregistrée à l'index 0. Pour la récupérer, utilisez cette commande :

$ git stash apply 0

 

On branch master
Your branch is up to date with 'origin/master'.

Vous avez la possibilité de renommer votre branche par défaut en quelque chose de plus approprié. Dans ce cas, nous renommerons « master » en « main ». 

$ git branch -M main

 

10 techniques Git avancées
 

Vous pouvez vérifier les modifications à l'aide de la commande suivante : 

$ git status

 

On branch main
Your branch is up to date with 'origin/master'.

Si vous souhaitez afficher un historique détaillé de tous les commits effectués dans le référentiel actuel, vous pouvez utiliser la commande `git log`. Cependant, le résultat peut être difficile à lire. Pour le rendre plus lisible, vous pouvez utiliser les drapeaux « graph », « decorate » et « oneline ». Cela affichera les modifications apportées dans plusieurs branches et comment elles fusionnent.

$ git log --graph --decorate --oneline

 

10 techniques Git avancées

À plusieurs reprises, je suis passé à une nouvelle succursale et j'ai oublié le nom de la succursale précédente. Par conséquent, j'ai dû utiliser la commande `git branch -a` pour afficher la liste des noms de branches. Cependant, il existe un moyen plus simple de revenir à la branche d'origine en utilisant le tiret « - » après la commande `git checkout`.

Nous allons d’abord créer la nouvelle branche Git « neo ».

$ git branch neo

 

Nous allons passer à la branche « néo ».

$ git checkout neo

 

Switched to branch 'neo'

 

Pour revenir à la branche d'origine, nous utiliserons la commande suivante :

$ git checkout -

 

Switched to branch 'main'

Nous avons appris à remplacer le référentiel distant. Apprenons comment remplacer le référentiel local à l'aide du référentiel distant.

Nous utiliserons la commande `fetch` pour obtenir les dernières modifications du référentiel distant. 

$ git fetch origin

 

Ensuite, nous utiliserons la commande « reset » avec l'indicateur « hard » pour remplacer toutes les modifications locales avec la version distante. Veuillez noter que cela annulera définitivement toutes les modifications locales.

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

S'il existe encore des fichiers non suivis, ils peuvent être supprimés à l'aide de la commande suivante :

$ git clean -df

J'ai eu l'inspiration d'écrire cet article après avoir regardé un vidéo YouTube par Fireship. J'admire le créateur pour sa capacité à expliquer des sujets complexes de manière simple. En suivant sa méthode, j'ai beaucoup appris sur les fonctionnalités de Git.

Dans cet article, nous avons couvert les techniques Git avancées qui sont cruciales pour les data scientists et les ingénieurs logiciels qui travaillent sur un projet de données collaboratif. Connaître ces techniques peut vous aider à éviter les accidents et à résoudre les problèmes beaucoup plus rapidement.

J'espère que vous avez trouvé ce blog utile. S'il vous plaît laissez-moi savoir si vous souhaitez lire plus d'articles contenant des informations en octets sur les outils couramment utilisés dans le monde de la science des données.
 
 

Abid Ali Awan (@1abidaliawan) est un spécialiste des données certifié qui aime créer des modèles d'apprentissage automatique. Actuellement, il se concentre sur la création de contenu et la rédaction de blogs techniques sur les technologies d'apprentissage automatique et de science des données. Abid est titulaire d'une maîtrise en gestion de la technologie et d'un baccalauréat en génie des télécommunications. Sa vision est de créer un produit d'IA utilisant un réseau de neurones graphiques pour les étudiants aux prises avec une maladie mentale.

Horodatage:

Plus de KDnuggetsGenericName