Aller au contenu

« Git Commandes » : différence entre les versions

De Marmits Wiki
Aucun résumé des modifications
Ligne 54 : Ligne 54 :


== '''Dépot''' ==
== '''Dépot''' ==
=== '''✳️ Réinitialise votre branche locale à l'état de origin/master, supprimant toutes les modifications locales non validées''' ===
<syntaxhighlight lang="bash" line copy>
git reset --hard origin/master
</syntaxhighlight>
=== '''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 145 : Ligne 140 :
</syntaxhighlight>
</syntaxhighlight>


=== '''Annuler un merge, etc ...''' ===
 
Supprime le dernier commit de votre branche actuelle, ainsi que toutes les modifications dans votre répertoire de travail qui ont été faites après ce commit. Cette commande doit être utilisée avec prudence, car elle supprime définitivement les modifications non sauvegardées.
== '''✳️ 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''' ==
== ✳️ '''Stash''' ==

Version du 12 juin 2025 à 22:51

Log

Voir les commits

git log --oneline

Voir les infos du dernier commit

git log -1 HEAD

Tag

Cherche le tag le plus récent dans l'historique du commit actuel.

git describe --tags

Création

git tag -a v2.4.2 -m "Le message du commit"
git push --tags

Suppression

git tag -d v2.4.1 # retire le tag dépôt local
git push origin :refs/tags/v2.4.1 # retire le tag du repo distant

Voir

git show v2.4.1

Renommer

# conversion en tag annoté avec message
git tag v1.0.2 v1.0.2^{} -f -m "message détaillé"
# Efface tous les tags distants non présents localement.
# Peut écraser des tags créés par d'autres sans garde-fou.
git push -f origin --tags

Renommer (Alternative moins risquée)

# 1. Mise à jour locale du tag
git tag -fa v1.0.2 -m "Nouveau message"

# 2. Suppression du tag distant
git push origin :v1.0.2

# 3. Push du nouveau tag
git push origin v1.0.2

Dépot

Récupère et fusionne automatiquement une branche distante dans votre branche locale actuelle

git pull

Récupère les dernières modifications du dépôt distant sans les fusionner

git fetch origin

Paramètre votre nouveau projet avec branche locale pour qu’elle suive la branche master

git clone

Récupère les modifications

git push [nom-distant] [nom-de-branche]

Informations dépôt distant

git remote show 
git remote show [nom-distant]

Pour visualiser les serveurs distants

au moins voir l’origine origin nom par défaut que Git donne au serveur à partir duquel vous avez cloné

git remote 
git remote -v

Définir l'url du dépot distant

git remote set-url origin https://github.com/lecompte/leDepot

ou pour ssh avec une key pub à ajouter

git remote add origin git@github.com:lecompte/leDepot.git

Appliquer la branche locale en fonction de la distante

git branch --set-upstream-to=origin/master master

Raliser le suivi d'une branche distante

git push --set-upstream origin master

--- source: https://git-scm.com/book/fr/v2/Les-bases-de-Git-Travailler-avec-des-dépôts-distants

Branche

Liste des branches courantes

git branch

Liste des derniers commits sur chaque branche

git branch -v

Branches qui ont déjà été fusionnées dans votre branche courante

git branch --merged

Branches qui contiennent des travaux qui n’ont pas encore été fusionnés

git branch --no-merged

Créer une branche

git branch -b une_branche

Changer de branche

git checkout une_branche

Push sur une branche particulière

git push --set-upstream origin une_branche

Récupérer une branche qui n'existe pas en local

git checkout -b une_branche origin/une_branche

Voir les modifs

git status

Pousser les modifications

git add .
git commit =m "le message de commit"
git push

Merge

git checkout testing (pour changer de branche sur testing qui devient la courante)
git merge master ( permet d'avancer la branche courante en incorporant le travail d'une autre branche : celle de master)
git push (transférer les commits du dépôt local vers un dépôt distant)


✳️ Ré-init / Reset

git reset --hard origin/master

La commande git reset --hard origin/master est utilisée pour réinitialiser votre branche locale actuelle à l’état exact de la branche master du dépôt distant origin. Voici ce que fait cette commande en détail :

  1. Réinitialisation Complète : Elle réinitialise votre branche locale pour qu’elle corresponde exactement à la branche origin/master. Cela signifie que tous les commits locaux qui ne sont pas présents dans origin/master seront supprimés.
  2. 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.
  3. Index et Répertoire de Travail : L’option --hard 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 origin/master.

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.

git reset --hard origin/master


git reset --hard HEAD~

La commande git reset --hard HEAD~ 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 :

  1. 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.
  2. 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.
  3. 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.
  4. 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.

git reset --hard HEAD~


✳️ Stash

La commande git stash 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 git stash en détail : - Elle enregistre les modifications apportées aux fichiers suivis ainsi que les fichiers non suivis (si vous utilisez l’option -u ou --include-untracked). - Elle réinitialise votre répertoire de travail pour qu’il corresponde à la dernière version validée (HEAD).

git stash

La commande git stash pop est utilisée pour réappliquer les modifications les plus récemment enregistrées avec git stash 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 git stash pop 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.

git stash pop

En résumé : - git stash : Enregistre temporairement vos modifications et réinitialise votre répertoire de travail. - git stash pop : Réapplique les modifications les plus récentes enregistrées avec git stash et supprime ce stash de la liste.

Fenêtre graphique

gitk

git config

This is Git's per-user configuration file

[user]
	name = Doo John
	email = jhon.doo@github.fr
[core]
	autocrlf = true