5 commandes Git à connaître, avec des exemples de code

J'utilise Git depuis quelques années maintenant et je me retrouve toujours à chercher sur Google comment effectuer certaines tâches de base. Donc, cet article est ma tentative d'apprendre comment faire certaines de ces choses en écrivant à leur sujet. Et même si j'oublie encore, au moins j'aurai une référence où je peux facilement trouver ces commandes - et vous aussi.

Avant de passer à l'apprentissage de ces choses, un de mes collègues m'a déjà dit quelque chose. Il m'a dit que tout est possible avec Git et que rien ne se perd dans Git.

Je ne sais pas si la première partie de sa déclaration est entièrement vraie mais je la garde à l'esprit chaque fois que j'essaye de faire quelque chose avec Git. Je crois que je vais trouver une commande qui m'aidera à faire ce que je dois faire. Je dois juste chercher sur Google avec les bons mots. Si vous êtes nouveau sur Git, je veux que vous le croyiez aussi.

Dans cet article, nous allons apprendre à effectuer les opérations suivantes:

  1. Ajouter des référentiels distants
  2. Modifier les référentiels distants
  3. Supprimer une branche
  4. Fusionner un fichier d'une branche à une autre
  5. Annuler un commit localement et à distance

Bien que cet article soit destiné aux personnes ayant une connaissance de base de Git, je ferai de mon mieux pour expliquer les termes autant que possible.

1. Ajouter des référentiels distants

Les référentiels distants sont des versions de vos projets qui sont stockées sur Internet ou ailleurs. L'ajout d'un référentiel distant est un moyen d'indiquer à Git où votre code est stocké.

Nous pouvons le faire en utilisant l'URL du référentiel. Cela peut être l'URL de votre référentiel, le fork d'un autre utilisateur ou même un serveur complètement différent.

Lorsque vous clonez un référentiel, Git ajoute implicitement ce référentiel comme origindistant pour vous. Pour ajouter un nouveau référentiel Git, vous utilisez cette commande:

git remote add  

shortnameest un nom distant unique et urlest l'url du référentiel que vous souhaitez ajouter.

Par exemple, si je souhaite ajouter un référentiel avec le nom court upstream, je peux le faire:

git remote add upstream //github.com/sarahchima/personal-website.git

Rappelez-vous que votre shortnamepeut être n'importe quoi, il doit juste être unique, c'est différent de ce que les noms des dépôts distants que vous avez déjà. Cela devrait également être quelque chose dont vous vous souviendrez facilement pour votre santé mentale.

Pour afficher la liste des URL distantes que vous avez ajoutées, exécutez la commande suivante:

git remote -v

Vous verrez une liste des noms distants et des URL que vous avez ajoutées.

Mais que faire si vous souhaitez modifier ces URL distantes? Passons à la prochaine commande Git.

2. Modifier les référentiels distants

Il existe plusieurs raisons pour lesquelles vous souhaiterez peut-être modifier une URL distante. Par exemple, j'ai récemment dû passer de l'utilisation d' httpsURL à des SSHURL pour un projet sur lequel j'ai travaillé.

Pour ce faire, utilisez la commande suivante:

git remote set-url  

Pour que cette commande fonctionne, le nom distant doit être un nom distant existant. Cela signifie que cela ne fonctionnera pas si vous n'avez pas ajouté ce nom distant auparavant.

En utilisant l'exemple ci-dessus, si je souhaite modifier l'URL distante, je vais le faire:

git remote set-url upstream [email protected]:sarahchima/personal-website.git

N'oubliez pas d'exécuter git remote -vpour vérifier que votre modification a fonctionné.

Assez parlé des référentiels distants. Passons à quelque chose de différent.

3. Supprimer une branche à la fois localement et à distance

Une branche est une version du référentiel différente du projet de travail principal. Vous pouvez vous renseigner sur les branches Git et savoir comment ajouter une branche si vous n'êtes pas familier avec ce processus.

Comment supprimer une succursale locale

Pour supprimer une branche localement, assurez-vous que vous n'êtes pas sur la branche que vous souhaitez supprimer. Vous devez donc passer à une autre branche et utiliser la commande suivante:

git branch -d 

Donc, si je veux supprimer une branche nommée fix/homepage-changes, je vais faire ce qui suit:

git branch -d fix/homepage-changes

Vous pouvez exécuter git branchsur votre terminal pour confirmer que la branche a été supprimée avec succès.

Parfois, vous devrez peut-être supprimer une branche que vous avez déjà poussée vers un référentiel distant. Comment peux-tu faire ça?

Comment supprimer une branche distante

Pour supprimer une branche à distance, vous utilisez la commande suivante:

git push  --delete 

remote-nameest le nom du référentiel distant dont vous souhaitez supprimer la branche.

Si je veux supprimer la branche fix/homepage-changesde origin, je vais faire ceci:

git push origin --delete fix/homepage-changes

La branche sera maintenant supprimée à distance.

4. Fusionner un fichier d'une branche à une autre

Parfois, vous souhaiterez peut-être fusionner le contenu d'un fichier spécifique d'une branche dans une autre. Par exemple, vous souhaitez fusionner le contenu d'un fichier index.htmlde la masterbranche d'un projet dans la developmentbranche. Comment peux-tu faire ça?

Commencez par extraire la bonne branche (la branche dans laquelle vous souhaitez fusionner le fichier) si vous ne l'avez pas déjà fait. Dans notre cas, c'est la developmentbranche.

git checkout development

Puis fusionnez le fichier à l'aide de la commande checkout --patch.

git checkout --patch master index.html

Si vous souhaitez écraser complètement le index.htmlfichier sur la developmentbranche par celui de la masterbranche, vous laissez l' --patchindicateur.

git checkout master index.html

De plus, laissez de côté l' --patchindicateur si le index.htmlfichier n'existe pas sur la developmentbranche.

5. Annuler un commit

Il y a des moments où vous avez commis vos modifications de manière incorrecte et que vous souhaitez annuler cette validation. Parfois, vous avez peut-être même poussé les modifications vers une branche distante. Comment annuler ou supprimer ce commit? Commençons par annuler un commit local.

Comment annuler un commit local

Une façon d'annuler une validation localement consiste à utiliser git reset. Par exemple, si vous souhaitez annuler le dernier commit effectué, vous pouvez exécuter cette commande:

git reset --soft HEAD~1

L' --softindicateur préserve les modifications que vous avez apportées aux fichiers que vous avez validés, seule la validation est annulée. Cependant, si vous ne souhaitez pas conserver les modifications apportées aux fichiers, vous pouvez utiliser l' --hardindicateur à la place comme ceci:

git reset --hard HEAD~1

Notez que vous ne devez utiliser l' --hardindicateur que lorsque vous êtes sûr de ne pas avoir besoin des modifications.

Notez également que HEAD~1pointe vers le dernier commit. Si vous souhaitez annuler une validation avant cela, vous pouvez utiliser git reflogpour obtenir un journal de toutes les validations précédentes. Ensuite, utilisez la git resetcommande avec le hachage de validation (le nombre que vous obtenez au début de chaque ligne d'historique). Par exemple, si mon hachage de validation est 9157b6910, je vais le faire

git reset --soft 9157b6910 

Comment annuler une validation à distance

Il y a des moments où vous souhaitez annuler un commit que vous avez poussé vers un référentiel distant. Vous pouvez utiliser git revertpour l'annuler localement et pousser cette modification vers la branche distante.

Tout d'abord, récupérez le hachage de validation en utilisant git reflog.

git reflog

Puis rétablissez-le. En supposant que mon hachage de validation est 9157b6910, je vais faire ce qui suit:

git revert 9157b6910 

Enfin, transmettez cette modification à la branche distante.

Sommaire

Dans cet article, nous avons discuté des commandes pour effectuer les opérations suivantes dans Git:

  1. Ajouter des référentiels distants
  2. Modifier les référentiels distants
  3. Supprimer une branche
  4. Fusionner un fichier d'une branche à une autre
  5. Annuler un commit localement et à distance

Peut-être qu'un jour, j'écrirai sur d'autres choses que vous pouvez faire avec Git.

J'espère que vous avez apprécié l'article. Merci d'avoir lu.

Vous souhaitez être averti lorsque je publie un nouvel article? Cliquez ici.