« Git Commandes » : différence entre les versions
| (14 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 54 : | Ligne 54 : | ||
== '''Dépot''' == | == '''Dépot''' == | ||
=== '''Récupère et fusionne automatiquement une branche distante dans votre branche locale actuelle''' === | === '''Récupère et fusionne automatiquement une branche distante dans votre branche locale actuelle''' === | ||
<syntaxhighlight lang="bash" line copy>git pull</syntaxhighlight> | <syntaxhighlight lang="bash" line copy>git pull</syntaxhighlight> | ||
| Ligne 126 : | Ligne 121 : | ||
<syntaxhighlight lang="bash" line copy>git push --set-upstream origin une_branche</syntaxhighlight> | <syntaxhighlight lang="bash" line copy>git push --set-upstream origin une_branche</syntaxhighlight> | ||
=== '''Récupérer une branche qui n'existe pas en local''' | === '''Récupérer une branche qui n'existe pas en local''' === | ||
<syntaxhighlight lang="bash" line copy>git checkout -b une_branche origin/une_branche</syntaxhighlight> | <syntaxhighlight lang="bash" line copy>git checkout -b une_branche origin/une_branche</syntaxhighlight> | ||
| Ligne 145 : | Ligne 140 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== ''' | == ✳️ '''Ré-init / Reset''' == | ||
=== 🔹<code>git reset --hard origin/master</code> === | |||
La commande <code>git reset --hard origin/master</code> est utilisée pour réinitialiser votre branche locale actuelle à l’état exact de la branche <code>master</code> du dépôt distant <code>origin</code>. Voici ce que fait cette commande en détail : | |||
# '''Réinitialisation Complète''' : Elle réinitialise votre branche locale pour qu’elle corresponde exactement à la branche <code>origin/master</code>. Cela signifie que tous les commits locaux qui ne sont pas présents dans <code>origin/master</code> seront supprimés. | |||
# '''Modifications Locales''' : Toutes les modifications locales non validées dans votre répertoire de travail seront perdues. Cela inclut les modifications apportées aux fichiers suivis ainsi que les nouveaux fichiers non suivis. | |||
# '''Index et Répertoire de Travail''' : L’option <code>--hard</code> indique à Git de réinitialiser à la fois l’index (la zone de préparation) et le répertoire de travail. Cela signifie que tout sera réinitialisé à l’état de <code>origin/master</code>. | |||
Cette commande est souvent utilisée dans les situations suivantes : | |||
* '''Synchronisation avec le Dépôt Distant''' : Si vous souhaitez vous assurer que votre branche locale est exactement la même que la branche distante, par exemple après avoir rencontré des conflits ou des problèmes de synchronisation. | |||
* '''Nettoyage de l’Environnement Local''' : Si vous avez fait des modifications locales ou des commits expérimentaux et que vous souhaitez tout simplement repartir de l’état du dépôt distant. | |||
Il est crucial d’utiliser cette commande avec prudence, car elle supprime définitivement toutes les modifications locales non sauvegardées. Assurez-vous de ne pas avoir besoin de ces modifications avant d’exécuter cette commande. | |||
<syntaxhighlight lang="bash" line copy> | |||
git reset --hard origin/master | |||
</syntaxhighlight> | |||
=== 🔹<code>git reset --hard HEAD~</code> === | |||
La commande <code>git reset --hard HEAD~</code> est utilisée dans des cas spécifiques où vous souhaitez supprimer définitivement le dernier commit de votre branche actuelle et toutes les modifications associées dans votre répertoire de travail. Voici quelques scénarios où cette commande pourrait être utile : | |||
# '''Annuler un Commit Erroné''' : Si vous avez fait un commit qui contient des erreurs ou des modifications indésirables et que vous souhaitez complètement l’annuler, cette commande vous permet de revenir à l’état précédent. | |||
# '''Nettoyer l’Historique Local''' : Si vous travaillez localement et que vous avez fait des commits expérimentaux ou temporaires que vous ne souhaitez pas conserver, vous pouvez utiliser cette commande pour nettoyer votre historique. | |||
# '''Réinitialiser à un État Connu''' : Si vous avez fait des modifications qui ont introduit des bugs et que vous souhaitez revenir à un état stable connu, cette commande peut être utilisée pour réinitialiser votre répertoire de travail. | |||
# '''Supprimer des Modifications Non Validées''' : En plus de supprimer le dernier commit, cette commande supprime également toutes les modifications non validées dans votre répertoire de travail, ce qui peut être utile si vous souhaitez tout simplement repartir de zéro. | |||
Cependant, il est important de noter que cette commande doit être utilisée avec prudence car elle supprime définitivement les modifications. Assurez-vous de ne pas avoir besoin des modifications que vous allez supprimer, car elles ne pourront pas être récupérées facilement. Si vous travaillez avec d’autres personnes ou sur un dépôt partagé, assurez-vous également de ne pas réinitialiser des modifications qui ont déjà été partagées avec d’autres. | |||
<syntaxhighlight lang="bash" line copy>git reset --hard HEAD~</syntaxhighlight> | <syntaxhighlight lang="bash" line copy>git reset --hard HEAD~</syntaxhighlight> | ||
== '''Stash''' == | === 🔹<code>git revert</code> === | ||
https://git-scm.com/docs/git-stash/fr | La commande <code>git revert</code> est utilisée pour annuler les modifications apportées par un ou plusieurs commits précédents en créant un nouveau commit qui inverse les changements. Contrairement à <code>git reset</code>, qui supprime les commits de l’historique, <code>git revert</code> conserve l’historique des commits et ajoute un nouveau commit qui annule les modifications des commits spécifiés. | ||
Voici comment fonctionne <code>git revert</code> : | |||
# '''Création d’un Nouveau Commit''' : Au lieu de supprimer un commit de l’historique, <code>git revert</code> crée un nouveau commit qui inverse les modifications du commit spécifié. Cela signifie que l’historique des commits reste intact. | |||
# '''Sécurité''' : Puisque <code>git revert</code> ne réécrit pas l’historique, il est sûr d’utiliser cette commande sur des commits qui ont déjà été poussés vers un dépôt partagé. Cela évite les problèmes potentiels qui peuvent survenir lorsque l’historique est modifié après avoir été partagé avec d’autres. | |||
# '''Utilisation''' : Vous pouvez spécifier un ou plusieurs commits à annuler. Par exemple, <code>git revert <commit-hash></code> annulera les modifications apportées par le commit spécifié par <code><commit-hash></code>. | |||
Exemple d’utilisation : | |||
<syntaxhighlight lang="sh">git revert a1b2c3d4</syntaxhighlight> | |||
Cette commande créera un nouveau commit qui annule les modifications introduites par le commit <code>a1b2c3d4</code>. | |||
La commande <code>git revert</code> est particulièrement utile dans les scénarios suivants : - Vous souhaitez annuler les modifications d’un commit spécifique sans altérer l’historique des commits. - Vous travaillez dans un dépôt partagé et vous voulez éviter les conflits potentiels en réécrivant l’historique. | |||
En résumé, <code>git revert</code> est une manière sûre et non destructive d’annuler des modifications dans un dépôt Git, surtout lorsque vous travaillez avec d’autres personnes sur un dépôt partagé. | |||
== ✳️ '''Stash''' == | |||
🔹La commande <code>git stash</code> est utilisée pour enregistrer temporairement les modifications que vous avez faites dans votre répertoire de travail, sans les valider dans l’historique Git. Cela vous permet de revenir à un état de travail propre, par exemple pour changer de branche ou travailler sur autre chose, sans avoir à valider des modifications incomplètes ou non désirées. | |||
Voici ce que fait <code>git stash</code> en détail : - Elle enregistre les modifications apportées aux fichiers suivis ainsi que les fichiers non suivis (si vous utilisez l’option <code>-u</code> ou <code>--include-untracked</code>). - Elle réinitialise votre répertoire de travail pour qu’il corresponde à la dernière version validée (<code>HEAD</code>). | |||
<syntaxhighlight lang="bash" line copy> | |||
git stash | |||
</syntaxhighlight> | |||
🔹La commande <code>git stash pop</code> est utilisée pour réappliquer les modifications les plus récemment enregistrées avec <code>git stash</code> et les supprimer de la liste des stashes. En d’autres termes, elle restaure les modifications que vous aviez mises de côté et supprime ce stash de la pile. | |||
Voici ce que fait <code>git stash pop</code> en détail : - Elle réapplique les modifications du stash le plus récent à votre répertoire de travail. - Elle supprime ce stash de la liste des stashes enregistrés. | |||
<syntaxhighlight lang="bash" line copy> | |||
git stash pop | |||
</syntaxhighlight> | |||
En résumé : - <code>git stash</code> : Enregistre temporairement vos modifications et réinitialise votre répertoire de travail. - <code>git stash pop</code> : Réapplique les modifications les plus récentes enregistrées avec <code>git stash</code> et supprime ce stash de la liste. | |||
* [https://git-scm.com/docs/git-stash/fr git-scm.com/docs/git-stash/fr] | |||
== '''Fenêtre graphique''' == | == '''Fenêtre graphique''' == | ||
| Ligne 159 : | Ligne 218 : | ||
== '''git config''' == | == '''git config''' == | ||
=== '''This is Git's per-user configuration file''' === | === '''This is Git's per-user configuration file''' === | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="ini" line> | ||
[user] | [user] | ||
name = Doo John | name = Doo John | ||