Voici une documentation détaillée des principales commandes Git.
En complément, voci un lien vers un repo de test de commandes git : Experimetations Git
Initialise un nouveau dépôt Git dans le répertoire courant.
git initAprès avoir créé un dépôt distant, ces commandes Git spécifiques : git remote, git remote add, et git push -u permettent de lier local et distant.
La commande git remote est utilisée pour gérer les dépôts distants associés à votre dépôt local. Un dépôt distant est un autre dépôt Git situé sur un serveur (comme GitHub, GitLab, ou Bitbucket) qui est lié à votre dépôt local.
-
Afficher les dépôts distants :
git remote
Cette commande affiche la liste des noms des dépôts distants configurés pour le dépôt local.
-
Afficher les informations détaillées sur les dépôts distants :
git remote -v
L'option
-v(verbose) montre les URLs associées aux dépôts distants pour les opérations defetchetpush.
La commande git remote add est utilisée pour ajouter un nouveau dépôt distant à votre dépôt local. Cela vous permet de spécifier un nom pour le dépôt distant et l'URL à laquelle il est accessible.
-
Syntaxe :
git remote add <nom-distant> <url>
-
Paramètres :
<nom-distant>: Le nom que vous souhaitez attribuer au dépôt distant. Par convention, le nom par défaut estorigin.<url>: L'URL du dépôt distant. Cela peut être une URL HTTP(s), SSH, ou un chemin de dépôt Git.
-
Exemple :
git remote add origin https://github.com/username/repository.git
Cela ajoute un dépôt distant nommé
originavec l'URL spécifiée.
La commande git push -u est utilisée pour envoyer les commits de votre branche locale vers le dépôt distant et définir la branche distante par défaut pour votre branche locale.
-
Syntaxe :
git push -u <nom-distant> <branche>
-
Paramètres :
<nom-distant>: Le nom du dépôt distant, par exempleorigin.<branche>: Le nom de la branche que vous souhaitez pousser vers le dépôt distant.
-
Options :
-uou--set-upstream: Définit la branche distante comme la branche par défaut pour les futures opérationsgit pushetgit pullsur la branche locale spécifiée. Cela permet à Git de savoir à quel dépôt distant et branche pousser ou tirer les modifications sans avoir à spécifier ces informations à chaque fois.
-
Exemple :
git push -u origin main
Cela pousse la branche locale
mainvers le dépôt distantoriginet définitorigin/maincomme la branche distante par défaut pourmain. À partir de ce moment, vous pouvez simplement utilisergit pushougit pullsans avoir à spécifier le dépôt distant et la branche.
Clone un dépôt existant depuis une URL dans un nouveau répertoire local.
git clone <url-du-dépôt>Ajoute des fichiers ou des modifications au cache (staging area) pour la prochaine validation (commit).
git add <fichier>
git add .Valide les modifications ajoutées au cache avec un message de commit.
git commit -m "Message de commit"Affiche l'état des fichiers dans le répertoire de travail et le cache.
git statusAffiche l'historique des commits dans le dépôt.
git logAffiche les différences entre les fichiers du répertoire de travail et le cache ou entre différents commits.
git diffAffiche les branches locales ou crée/supprime des branches.
git branch # Liste les branches locales
git branch <nom> # Crée une nouvelle branche
git branch -d <nom> # Supprime une brancheChange de branche ou restaure des fichiers du répertoire de travail.
git checkout <branche> # Change de branche
git checkout <fichier> # Restaure un fichier à partir du cacheFusionne des modifications d'une branche dans la branche courante.
git merge <branche>Télécharge les modifications depuis le dépôt distant et les fusionne avec la branche courante.
git pullEnvoie les commits locaux vers un dépôt distant.
git pushFusionne les modifications d'une branche dans la branche courante en combinant tous les commits en un seul commit.
git merge --squash <branche>-
Cette commande prépare les modifications de la branche spécifiée pour un commit unique. Après l'exécution de
git merge --squash, vous devrez faire ungit commitpour finaliser la fusion. -
Exemple :
git checkout main git merge --squash feature-branch git commit -m "Fusion de la branche feature-branch avec squash"
Réinitialise la branche courante à un commit précédent. Cela peut également être utilisé pour modifier le cache ou le répertoire de travail.
-
git reset --soft <commit>: Réinitialise la branche à<commit>tout en conservant les modifications dans le cache.git reset --soft <commit>
-
git reset --mixed <commit>: Réinitialise la branche à<commit>et supprime les modifications du cache tout en conservant les modifications dans le répertoire de travail.git reset --mixed <commit>
-
git reset --hard <commit>: Réinitialise la branche à<commit>et supprime toutes les modifications dans le cache et le répertoire de travail.git reset --hard <commit>
-
Exemple :
git reset --hard HEAD~1
Cela réinitialise la branche courante au commit précédent et supprime les modifications non validées.
Crée un nouveau commit qui annule les modifications d'un commit précédent sans modifier l'historique du dépôt.
-
git revert <commit>: Annule les modifications apportées par<commit>et crée un nouveau commit avec les modifications inversées.git revert <commit>
-
Exemple :
git revert a1b2c3d4
Cela annule les changements introduits par le commit
a1b2c3d4et crée un nouveau commit avec les modifications inversées.
Ces commandes Git vous permettent de gérer et manipuler votre dépôt de manière efficace. La commande git merge --squash est utile pour combiner plusieurs commits en un seul avant de les fusionner dans la branche principale, tandis que git reset et git revert offrent des moyens différents pour revenir à des états antérieurs dans l'historique des commits. git reset est plus radical et modifie l'historique, alors que git revert est plus sûr pour annuler des changements tout en conservant l'historique des commits.