Commandes Git que chaque testeur doit connaître

Cet article est une feuille de triche Git avec les commandes Git les plus courantes que vous utiliserez probablement quotidiennement.

Si vous êtes un testeur technique travaillant aux côtés de développeurs, vous devez être familiarisé avec les commandes de base de Git.

Cet article contient suffisamment de connaissances Git pour vous permettre de travailler au quotidien en tant que QA.


Si vous n'avez pas installé Git sur votre ordinateur, vous pouvez suivre les étapes de Comment installer Git sur Mac et générer des clés SSH .



Configuration initiale de Git

Initialiser un repo

Créez un référentiel git vide ou réinitialisez-en un existant


$ git init

Cloner un dépôt

Clonez le référentiel foo dans un nouveau répertoire appelé foo:

$ git clone https://github.com//foo.git foo

Branche Git

Comment créer une nouvelle branche dans Git

Lorsque vous souhaitez travailler sur une nouvelle fonctionnalité, vous créez généralement une nouvelle branche dans Git. En tant que tel, vous souhaitez généralement rester en dehors de la branche principale et travailler sur vos propres branches de fonctionnalités afin que le maître soit toujours propre et que vous puissiez créer de nouvelles branches à partir de celui-ci.

Pour créer une nouvelle branche, utilisez:

$ git checkout -b

Comment lister les branches dans Git

Si vous voulez savoir quelles branches sont disponibles dans votre répertoire de travail, utilisez:


$ git branch

Exemple de sortie:

develop my_feature master

Comment changer de branche dans Git

Lorsque vous créez une nouvelle branche, Git bascule automatiquement vers la nouvelle branche.

Si vous avez plusieurs branches, vous pouvez facilement basculer entre les branches avec git checkout:

$ git checkout master $ git checkout develop $ git checkout my_feature

Comment supprimer des branches dans Git

Pour supprimer une branche locale:


$ git branch -d

Utilisez le -D drapeau d'option pour le forcer.

Pour supprimer une branche distante à l'origine:

$ git push origin :

En rapport:

  • Comment installer git et générer des clés SSH sur Mac


Mise en scène Git

À étape un fichier consiste simplement à le préparer pour un commit. Lorsque vous ajoutez ou modifiez certains fichiers, vous devez mettre en scène ces modifications dans «la zone de préparation». Pensez à la mise en scène comme à une boîte dans laquelle vous mettez des objets avant de les mettre sous votre lit, où votre lit est un référentiel de boîtes dans lesquelles vous avez déjà poussé.


Fichiers de scène Git

Pour mettre en scène ou simplement ajouter des fichiers, vous devez utiliser la commande git add. Vous pouvez organiser des fichiers individuels:

$ git add foo.js

ou tous les fichiers à la fois:

$ git add .

Modifications de Git Unstage

Si vous souhaitez supprimer un certain fichier de la scène:

$ git reset HEAD foo.js

Ou supprimez tous les fichiers intermédiaires:


$ git reset HEAD .

Vous pouvez également créer un alias pour une commande puis l'utiliser avec Git:

$ git config --global alias.unstage 'reset HEAD' $ git unstage .

Statut Git

Si vous voulez voir quels fichiers ont été créés, modifiés ou supprimés, l'état de Git vous montrera un rapport.

$ git status

Commits Git

C'est une bonne pratique de s'engager souvent. Vous pouvez toujours écraser vos commits avant une poussée. Avant de valider vos modifications, vous devez les mettre en scène.

La commande commit nécessite une option -m qui spécifie le message de commit.

Vous pouvez valider vos modifications comme:

$ git commit -m 'Updated README'

Annulation des validations

La commande suivante annulera votre validation la plus récente et remettra ces modifications en attente, afin que vous ne perdiez aucun travail:

$ git reset --soft HEAD~1

Pour supprimer complètement le commit et annuler toutes les modifications, utilisez:

$ git reset --hard HEAD~1

Commits d'écrasement

Supposons que vous ayez 4 commits, mais que vous n'avez encore rien poussé et que vous voulez tout mettre en un seul commit, vous pouvez alors utiliser:

$ git rebase -i HEAD~4

Le HEAD~4 fait référence aux quatre derniers commits.

Le -i option ouvre un fichier texte interactif.

Vous verrez le mot 'choisir' à gauche de chaque commit. Laissez celui du haut seul et remplacez tous les autres par 's' pour squash, enregistrez et fermez le fichier.

Ensuite, une autre fenêtre interactive s'ouvre dans laquelle vous pouvez mettre à jour vos messages de validation en un nouveau message de validation.



Git Push

Une fois que vous avez validé vos modifications, vous devez ensuite pousser vers un référentiel distant.

Première poussée

Poussez une succursale locale pour la première fois:

$ git push --set-upstream origin

Après cela, vous pouvez simplement utiliser

$ git push

Pousser la branche locale vers une autre branche distante

Pour pousser une branche locale vers une autre branche distante, vous pouvez utiliser:

$ git push origin :

Annuler la dernière poussée

Si vous devez annuler votre dernière poussée, vous pouvez utiliser:

$ git reset --hard HEAD~1 && git push -f origin master

Git Fetch

Lorsque vous utilisez git fetch, Git ne fusionne pas les autres commits avec votre branche actuelle. Ceci est particulièrement utile si vous avez besoin de garder votre référentiel à jour, mais que vous travaillez sur quelque chose qui pourrait se casser si vous mettez à jour vos fichiers.

Pour intégrer les commits dans votre branche principale, vous utilisez merge.

Récupérer les modifications en amont

$ git fetch upstream

Git Pull

Le tirage consiste simplement à effectuer une extraction suivie d'une fusion. Lorsque vous utilisez git pull, Git fusionne automatiquement les autres commits sans vous permettre de les examiner au préalable. Si vous ne gérez pas étroitement vos succursales, vous risquez d’être confronté à de fréquents conflits.

Tirez une branche

Si vous avez une branche appelée my_feature et vous voulez tirer cette branche, vous pouvez utiliser:

$ git pull origin/my_feature

Tirer tout

Ou, si vous voulez tout tirer et toutes les autres branches

$ git pull

Fusion et rebasage de Git

Lorsque vous exécutez git merge, votre branche HEAD générera un nouveau commit , en préservant l'ascendance de chaque histoire de commit.

le dépasser réécrit les modifications d'une branche sur une autre sans pour autant créer un nouveau commit.

Fusionner la branche principale avec la branche d'entités

$ git checkout my_feature $ git merge master

Ou avec l'option rebase, vous utilisez:

$ git checkout my_feature $ git rebase master

Fusionner la branche d'objets avec la branche principale

$ git checkout master $ git merge my_feature

Git Stash

Parfois, vous apportez des modifications à une branche et vous souhaitez passer à une autre branche, mais vous ne voulez pas perdre vos modifications.

Vous pouvez cacher vos modifications. Voici comment faire un stash dans Git:

$ git stash

Maintenant, si vous souhaitez désinstaller ces modifications et les ramener dans votre répertoire de travail, utilisez:

$ git stash pop