32 Aide-mémoire sur les commandes Git pour les débutants
Publié: 2022-09-23La feuille de triche des commandes GIT est une référence pratique pour les développeurs et contient les commandes les plus couramment utilisées pour les projets git.
Qu'est-ce que GIT ?
GIT est un référentiel open source où les utilisateurs peuvent placer leurs fichiers, y compris le code, les zips, le texte ou l'ensemble du projet.
Il possède plusieurs fonctionnalités, telles que la collaboration, le contrôle de version, le contrôle de processus, etc. GIT stocke les fichiers plus efficacement et offre une meilleure intégrité que les autres systèmes de contrôle de version. Git est un outil en ligne de commande.
Qu'est-ce que GitHub ?
Avec son interface utilisateur soignée, GitHub, un hub pour les développeurs, est devenu le système de contrôle de version le plus utilisé et est accessible à tous, n'importe où.
Flux de travail Git
Git a différents workflows, et chaque projet devrait en avoir un en fonction de ses besoins. Le workflow Git n'est rien d'autre qu'un workflow léger basé sur une branche qui aide les équipes qui déploient régulièrement des projets.
Par exemple, un workflow Git fork crée une copie locale du référentiel. Ainsi, chaque développeur dispose d'un espace de travail local et d'un référentiel central. Ce type de flux de travail est bon lorsque plusieurs développeurs sont impliqués et permet aux développeurs de collaborer sur la copie dérivée avant d'apporter des modifications au référentiel principal.
Pourquoi avons-nous besoin de Git ?
Comme Git est un système de contrôle de version, les développeurs y travaillent constamment pour enregistrer leurs modifications, les rendre visibles pour les autres, fusionner leurs modifications avec d'autres, et bien plus encore.
Pour toute modification du référentiel Git, les développeurs doivent connaître les bonnes commandes pour la bonne action. Vous trouverez ci-dessous une liste des commandes Git importantes et couramment utilisées :
Commandes Git courantes
git ajouter
Pour ajouter le(s) fichier(s) spécifié(s) à la mise en scène
git add <file> -- add a specific file git add * -- add all the files
archive git
Crée des archives de commits, de branches et d'arborescences et combine plusieurs fichiers en un seul. Vous pouvez récupérer le contenu en extrayant les fichiers en cas de besoin
git archive HEAD
— crée une archive à partir de la référence HEAD du dépôt
git archive output = '.tar'
— stocke les fichiers archivés à l'emplacement donné
git archive --format=tar.gz
— spécifie le format du fichier archivé, comme tar, zip, tar.gz
branche git
Répertorie toutes les branches du référentiel. Une nouvelle branche avec le nom sera créée si une branche est spécifiée. Pour supprimer une branche, utilisez l'option -d avec le nom de la branche. Pour renommer une branche courante, utilisez -m.
git branch
— répertorie toutes les branches
git branch <branch_name
> — crée une nouvelle branche nommée 'branch_name' mais n'extrait pas la nouvelle branche.
git branch -d <branch_name>
— supprime la branche, empêche la suppression s'il y a des modifications non fusionnées
git branch -D <branch_name>
- force la suppression de la branche même s'il y a des modifications non fusionnées
git branch -m <branch2>
— renomme la branche actuelle
fichier chat git
Afficher le contenu ou les informations de taille/type des objets du référentiel
git cat-file <object>
— affiche le contenu de l'objet
git cat-file -t <object>
— affiche le type d'objet
git cat-file -s <object>
— affiche la taille de l'objet
git cat-file -p <object>
— affiche le type d'objet de manière jolie
git cat-file -e <object>
— affiche l'erreur sur stderr si l'objet a un format invalide ou n'existe pas
git cat-file <type> <object>
— affiche le contenu brut d'un objet
paiement git
Pour basculer entre les différentes branches d'un référentiel, utilisez-le avec précaution, car il n'y a pas d'annulation pour cela.
git checkout <branch_name>
— vérifie la branche spécifiée
git checkout -b <branch_name>
— crée une nouvelle branche et passe à cette branche
Par exemple:
C:\Users\geekflare>git checkout -b development_branch Switched to a new branch 'development_branch'
git propre
Nettoyer le directeur de travail. Les fichiers validés ne seront pas supprimés
git clean -n
— répertorie les fichiers qui seront supprimés
git clean -f
— supprime les fichiers
clone git
Créez une copie du référentiel existant dans un nouveau répertoire. Utile pour obtenir une copie de développement d'un référentiel central.
git clone <central_repo> <new_dir>
— crée une copie du référentiel central dans un nouveau répertoire
Par exemple:
C:\Users\geek>git clone geekflare master Cloning into 'master'… done.
git clone -branch <branch> <repo>
— clone une branche du dépôt mentionné
git commet
Enregistre les modifications dans un environnement intermédiaire afin que d'autres puissent les voir.
git commit
— validez les modifications apportées à la mise en scène
git commit -m <useful_msg>
- donne un message lors de la validation pour mettre en évidence les modifications apportées
git commit -a
- validez les modifications directement, sans mise en scène
Supposons que vous ayez ajouté un fichier nommé samplefile.txt à votre répertoire de travail et que vous souhaitiez valider le fichier. En donnant la commande ci-dessus, vous obtiendrez la sortie :
Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit. On branch master Initial commit Changes to be committed: new file: samplefile.txt
Une fois que vous avez envoyé le message, les modifications sont validées :
C:\Users\geekflare>git commit -m 'samplemsg' [integration_branch (root-commit) ed52dd0] 'samplemsg' 1 files changed, 24 insertions(+) create mode 100644 samplefile.txt
configuration git
Spécifie le niveau de configuration dans lequel écrire une valeur de propriété. Le niveau 'Local' est le niveau par défaut (lorsque rien n'est spécifié).
git config –local
— enregistre la configuration dans le répertoire .git du repo
git config –global
— enregistre la configuration dans le répertoire personnel de l'utilisateur
git config –system
— contient la configuration de tous les utilisateurs et référentiels et se trouve dans le fichier git config de la racine.
git diff
Comparez les changements dans le référentiel git, qui peuvent être effectués avant le staging, au staging et après le staging (commit).
git diff
- suivre les modifications du référentiel qui ne sont pas encore mises en scène
git diff --staged
- suit les modifications des fichiers mis en scène (qui ne sont pas validés)
git diff HEAD
- suit les modifications du fichier après le commit
git diff <commit1_id> <commit2_id>
— suit les changements entre deux commits ; vous pouvez trouver les commit_ids en utilisant ' git log -p --follow --filename
'
git récupérer
Récupérer une branche ou l'intégralité du référentiel distant
git fetch <remote-url>
- récupère l'intégralité du référentiel à partir de l'URL du référentiel distant
git fetch <branch_url> <branchname>
— récupère la branche spécifique
git fetch -all
- récupère toutes les branches d'un dépôt distant
git fetch origin
— mettre à jour et synchroniser le référentiel local avec les nouvelles modifications du référentiel distant
git fsck
La commande File System Check vérifie la validité et la connectivité des objets de la base de données. Il vérifie le SHA-1ID des objets et les connexions qu'ils établissent. Fsck est utile pour récupérer des commits et des fichiers perdus.
git fsck –full
git gc
Exécute la récupération de place sur le référentiel actuel et nettoie les fichiers inutilisés.
git gc
git grep
Recherche un contenu spécifique dans le référentiel. Git fournit de nombreuses options pour rechercher de différentes manières
git grep -i 'search_term'
- recherche en ignorant la casse [l'homme et l'homme seront les mêmes]
git grep -f <file_name>
- affiche les modèles correspondants d'un fichier particulier
git grep -e 'search-term'
- utilisez -e pour la correspondance de modèle
git grep -E 'regexp|multiple_exp'
-Rechercher des expressions régulières, nous pouvons en rechercher plusieurs en utilisant l'opérateur pipe (OR)
git grep -n 'expr'
— numéro de ligne de préfixe de la ligne correspondante
git grep -c 'expr'
- affiche le nombre de lignes qui correspondent au lieu de chaque ligne
git ls-tree
Pour lister le contenu d'un objet arbre du répertoire courant.
git ls -tree -d <path>
— affiche uniquement l'entrée d'arborescence spécifiée, pas les enfants
git ls -tree -r
- récurrence dans les sous-arbres
git ls -tree -l
- affiche la taille des objets de fichier (blob)
git ls -tree --name-only
- affiche uniquement les noms de fichiers et non la sortie longue
git ls -tree --full-name
- affiche les noms de chemin complets et pas seulement le chemin relatif au répertoire actuel
Exemple:

C:\Users\geek>git ls-tree --full-tree -r HEAD 100644 blob e883e60087e84f1660a9673ccb86eb0adc4f004d samplefile.txt 100644 blob 1426dc6fbff0677a484b248983a8740ff30fbb80 sample_jsindex.js
git init
Créez un nouveau référentiel vierge. C'est la première commande que vous exécutez pour créer un projet git.
git init
— crée un dépôt .git dans le répertoire de travail,
Par exemple, pour créer un nouveau référentiel appelé "geekflare", donnez la commande :
$ git init geekflare Initialized empty Git repository in C:/Users/geek/geekflare/.git/
git instaweb
Interface utilisateur pour parcourir le référentiel git via un navigateur. Utilise le script CGI GitWeb pour la même chose.
git instaweb --httpd=webrick
— démarre le serveur (httpd) et ouvre le navigateur Web sur la page.
Pour arrêter le serveur, utilisez la commande ci-dessus avec l'option –stop.
journal git
Enregistre chaque activité dans le référentiel git.
git log
— affiche les derniers commits
git log --oneline
— affiche la sortie avec les 7 premiers caractères de SHA et le message de commit avec un commit par ligne
git log stat
— affiche plus d'informations sur les fichiers modifiés, comme le nombre de lignes ajoutées/supprimées, un résumé du nombre total d'enregistrements modifiés, les lignes ajoutées/supprimées
git log --patch (or -p)
— affiche les fichiers modifiés, les modifications spécifiques et leur emplacement
git log --graph
— Afficher les résultats du journal sous forme de graphique
git log -<n>
— affiche le dernier 'n' nombre de commits
git log --after=<date/x days/yesterday>
— affiche tous les commits après une date spécifiée. Vous pouvez utiliser --before
pour afficher les commits avant la date spécifiée
git log --author=<author_name>
— affiche les commits d'un auteur (utilisateur) particulier.
git log --grep=<commit message>
— filtre les commits en fonction du message de commit
git fusionner
Intègre tous les fichiers de développement dans une seule branche, combine deux branches et fusionne plusieurs commits en un seul historique. La fusion s'arrête en cas de conflit et git présente les fichiers en conflit. Une fois les conflits résolus, la fusion se poursuit.
git checkout -b
- d'abord, extrayez la branche à fusionner
git add <file>
git commit
— ajouter et valider les fichiers
git checkout master
git merge
— fusionne la branche avec master
git pruneau
Supprime (pruneaux) les fichiers inaccessibles depuis la branche actuelle. Il s'agit d'un processus de nettoyage pour supprimer les fichiers inutilisés de la branche
git prune -n
— ne taillez pas, montrez simplement ce qui peut être taillé
git prune -v
— affiche la sortie des actions effectuées par le prune
git prune --progress
— montre la progression du pruneau
git fetch --prune
— élague toutes les branches obsolètes
git tirer
Il reçoit des données d'un serveur distant vers un référentiel de travail. Il met à jour la branche locale (de travail) avec tous les derniers fichiers du référentiel distant.
git pull
— récupère le référentiel distant
git pull <repo URL>
- extrait une branche distante particulière
git pousser
Pousse toutes les modifications locales dans le référentiel distant. Il s'agit d'un processus de téléchargement exactement opposé aux commandes d'extraction et de récupération
git checkout master
— vérifier la branche qui a les dernières modifications
git push origin master
- envoie les modifications au référentiel distant
Exemple:
C:\Users\geek>git checkout development_branch Switched to branch 'development_branch' C:\Users\geek>git push master development_branch Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 4 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 612 bytes | 204.00 KiB/s, done. Total 4 (delta 0), reused 0 (delta 0), pack-reused 0 To master [development_branch] development_branch -> development_branch
Nous pouvons également utiliser push pour supprimer une branche distante à l'aide de la commande git push --delete <branch>
.
Par exemple:
C:\Users\geek>git push master --delete development_branch To master [deleted] development_branch
git rebase
Combine plusieurs commits de différentes branches pour créer un nouveau commit de base final. Utile avant de fusionner toutes les modifications, pour valider les modifications des différentes branches une par une (linéairement).
git rebase <branch name>
— combine les commits en une seule base finale
S'il y a des conflits, résolvez-les et continuez le rebasage :
git rebase --continue
Pour ignorer toute modification :
git rebase --skip
git à distance
Vérifie la configuration du serveur distant et autorise l'accès à la connexion entre distant et local.
git remote
— par défaut, il renvoie 'origin', le nom par défaut du serveur distant donné par Git
git remote -v
— répertorie les noms abrégés et les URL de toutes les connexions distantes disponibles
git remote add <short name> <remote url>
— ajoute explicitement le serveur distant aux connexions disponibles. Le nom court peut être utilisé pour les commandes git au lieu de donner l'URL entière.
git remote remove <remote url/short name>
— supprime le serveur distant du référentiel
réinitialisation de git
Revenir à un commit précédent et annuler les modifications apportées après ce commit
git reset <hash of the commit>
— restaure le dépôt dans le commit spécifié. Git conservera l'historique des commits, vous pouvez donc effectuer une autre réinitialisation avec un commit différent (hachage) pour annuler une réinitialisation.
git rm
Supprime le fichier spécifique de git. Vous pouvez annuler l'effet de rm à l'aide de la commande reset ou checkout
git rm <file_ name>
— supprimer le fichier spécifique
Pour supprimer des fichiers de git mais les conserver dans votre local (staging), utilisez :
git rm --cached
spectacle de git
Affichez n'importe quel objet tel qu'un blob, un arbre, un commit ou une balise en spécifiant son SHA1
git show
— ne pas spécifier <object> affiche les détails du dernier commit sur la branche.
git show <SHA1_id>
— affiche le contenu de l'objet spécifié par son identifiant SHA1, par exemple, l'identifiant du blob, l'identifiant de l'arborescence, etc. Pour vérifier le type d'objet, utilisez la commande git cat-file -t
git show –pretty
- affiche la sortie dans un joli format.
Vous pouvez fournir un format personnalisé :
git show --pretty = 'format:Name: <format>'
Ou vous pouvez utiliser l'un des formats court, complet, une ligne, moyen ou plus complet, par exemple :
git show --pretty= 'medium'
— cela affichera l'auteur, la date, le titre et le message de validation complet
git show --abbrev-commit
— pour abréger SHA1
git cachette
Pour changer de branche sans valider dans la branche actuelle, stockez les données non validées en toute sécurité
git stash
— enregistre le travail et l'état de l'index
git stash save <message>
— donne un message pendant l'enregistrement
git stash list
— Afficher la liste du contenu caché
git stash apply
- validez les modifications stockées. Pour appliquer les modifications d'un stash spécifique, utilisez l'identifiant de l'index de stash avec apply
git stash show
— affiche le contenu des fichiers cachés
git stash drop
— supprime la réserve la plus récente de la file d'attente
statut git
Affichez l'état du référentiel et du staging, c'est-à-dire l'état avant l'étape de validation. Vous pouvez utiliser cette commande après toute autre commande git, comme l'ajout, la mise à jour ou la suppression d'un fichier
git status
— affiche les modifications qui doivent être validées ou les modifications non suivies (pas de mise en scène)
Par exemple, si vous ajoutez un fichier dans votre répertoire de travail nommé samplefile.txt et vérifiez s'il est ajouté, vous pouvez donner la commande ci-dessus. Il en résultera la sortie suivante :
On branch master No commits yet Changes to be committed: (use "git rm --cached …" to unstage) new file: samplefile.txt
balise git
Des références conviviales sont utilisées pour indiquer des jalons ou des points de référence dans le code
git tag <tag_name>
— crée une balise avec le nom donné
git tag
— liste toutes les balises disponibles
git tag show <tag_name>
— affiche les détails de la balise spécifiée
git tag -l “.*”
- affiche les balises qui correspondent au modèle ou aux caractères spécifiés
connard
Lance l'interface utilisateur git qui affiche le contenu, les commits, le diff complet et d'autres détails dans une fenêtre
gitk
— ouvre le dépôt git dans une fenêtre pour visualisation
version git
Utilisez la commande git version pour vérifier la version de git que vous utilisez.
C:\Users\geekflare>git version git version 2.38.0.windows.1
Derniers mots
Cet article a répertorié les commandes git les plus couramment utilisées avec leurs options.
Ensuite, vous pouvez consulter le scanner d'informations d'identification GitHub.