Outils pour utilisateurs

Outils du site


linux:git (lu 119132 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
linux:git [24-04-2019 10:29]
edmc73 [Quelques commandes utiles]
linux:git [05-12-2023 13:52] (Version actuelle)
edmc73 [Checkout]
Ligne 113: Ligne 113:
 Ajouter au commit seulement les fichiers suivi Ajouter au commit seulement les fichiers suivi
   git add -u   git add -u
-Enlever un fichier du commit + 
-  git reset -- lefichier+ 
 +**Le git reset** 
 + 
 +Revenir à l'état d'un commit tout en gardant vos modification local en unstage 
 +  git reset <commit> 
 +  git reset <commit> --mixed 
 + 
 + 
 +Revenir à l'état d'un commit tout en gardant vos modification local en stage 
 +  git reset <commit> --soft 
 + 
 +Revenir à l'état d'un commit en supprimant toutes vos modifications en local !! (pas de retour possible !!!) 
 +  git reset <commit> --hard 
 + 
 + 
 +Enlever un fichier du commit ou plutot, désindexer un fichier 
 +  git reset lefichier 
 +équivalent de  
 +  git reset --mixed HEAD lefichier 
 + 
 + 
 Annuler le dernier commit non encore propagé (n'affecte pas le contenu des fichiers, fait comme si vous n'aviez pas fait git commit) Annuler le dernier commit non encore propagé (n'affecte pas le contenu des fichiers, fait comme si vous n'aviez pas fait git commit)
   git reset HEAD^   git reset HEAD^
  
-FIXME +Annuler votre dernier commit non propagé (supprime vos modifications et le dernier commit).  
-Ne plus suivre (unstage) un fichier +  git reset --hard HEAD^ 
-  git reset HEAD nom_du_fichier ou répertoire+ 
 + 
 +Le **git revert** (pas de perte d'historique) 
 + 
 +Pour annuler un commit en particulier. Crée un nouveau commit 
 +  git revert <commit> 
 + 
 +Pour annuler un commit sur un fichier en particulier 
 +  git revert <commit> <nom du fichier> 
 + 
 +   
 +Plus d'info sur git reset => https://git-scm.com/book/fr/v2/Utilitaires-Git-Reset-d%C3%A9mystifi%C3%A9 
 Supprimer les modifications faite sur un fichier Supprimer les modifications faite sur un fichier
   git checkout -- nom_du_fichier   git checkout -- nom_du_fichier
Ligne 148: Ligne 181:
 Voir les branches Voir les branches
   git branch   git branch
 +
 +=== Création ===
  
 Créer une branche Créer une branche
Ligne 168: Ligne 203:
 Pour pousser votre branche sur le dépôt afin qu'elle soit accessible à tout le monde Pour pousser votre branche sur le dépôt afin qu'elle soit accessible à tout le monde
   git branch --set-upstream nom_dune_branche origin/nom_dune_branche   git branch --set-upstream nom_dune_branche origin/nom_dune_branche
 +
 +
 +=== Modification ===
  
 Pour fusionner votre nouvelle branche sur la branche master, faites vos commit, placez-vous sur la branche master puis fusionner une autre branche sur celle-ci Pour fusionner votre nouvelle branche sur la branche master, faites vos commit, placez-vous sur la branche master puis fusionner une autre branche sur celle-ci
Ligne 177: Ligne 215:
   git merge --no-ff branche_a_fusionner   git merge --no-ff branche_a_fusionner
  
-Pour supprimer la branche qui ne sert plus à rien  et vérifier qu'elle a été mergé 
-  git branch -d nom_branche_qui_sert_plus 
-   
-Pour supprimer une branche qui n'a pas été mergé 
-  git branch -D nom_branche_obsolète 
  
 Pour copier un fichier d'une autre branche sur la branche en cours Pour copier un fichier d'une autre branche sur la branche en cours
Ligne 189: Ligne 222:
     twitter_integration     twitter_integration
   $ git checkout twitter_integration fichier1 fichier2   $ git checkout twitter_integration fichier1 fichier2
 +
 +
 +Si vous avez une branche feature et que vous voulez intégrer les derniers commit de master sur cette branche
 +
 +  $ git checkout feature
 +  $ git pull origin master
 +
 +=== Suppression de branches ===
 +
 +Pour supprimer la branche qui ne sert plus à rien  et vérifier qu'elle a été mergé
 +  git branch -d nom_branche_qui_sert_plus
 +  
 +Pour supprimer une branche qui n'a pas été mergé
 +  git branch -D nom_branche_obsolète
 +
  
  
Ligne 199: Ligne 247:
  
 === tester un merge === === tester un merge ===
 +
 +  git checkout master
 +  git merge --no-commit --no-ff branche_a_merger
 +
 +Pour voir ce qui a changé
 +  git diff --cached
 +
 +Pour abandonner le merge
 +  git merge --abort
 +
 +
 +Pour valider le merge
 +  git commit
 +
 +== Méthode alternative à l'ancienne ==
 Pour tester votre merge, faite un test sur une branche temporaire Pour tester votre merge, faite un test sur une branche temporaire
  
Ligne 322: Ligne 385:
 Supprimer un fichier uniquement de l'index sans le supprimer physiquement Supprimer un fichier uniquement de l'index sans le supprimer physiquement
   git rm --cached fichier   git rm --cached fichier
 +
 +Pour supprimer le fichier de tout l'historique
 +  git filter-branch --index-filter 'git rm --cached (file)' HEAD
  
 Supprimer tous les fichiers pourris de iOS (échapper l'astérisk est important sinon le shell l'interprètera et seul les fichiers de 1er niveau seront supprimés) Supprimer tous les fichiers pourris de iOS (échapper l'astérisk est important sinon le shell l'interprètera et seul les fichiers de 1er niveau seront supprimés)
Ligne 392: Ligne 458:
  
 Si on a fait une modification qu'on ne veut pas commiter, on peut la mettre de côté, faire par exemple un git pull et réappliquer la modif Si on a fait une modification qu'on ne veut pas commiter, on peut la mettre de côté, faire par exemple un git pull et réappliquer la modif
- 
   git stash   git stash
 +
 +
 +Pour mettre en stash uniquement un fichier
 +  git stash push -- path/to/file.txt
  
 pour voir les modifs en stash pour voir les modifs en stash
-  git list+  git stash list
  
 Pour voir quelles sont les fichiers modifiés par un stash Pour voir quelles sont les fichiers modifiés par un stash
Ligne 403: Ligne 472:
   git stash show stash@{0}   git stash show stash@{0}
  
-Pour réappliquer vos modif en stash+Pour appliquer vos modifs stockées dans le stash et les supprimer du stash
   git stash pop   git stash pop
 +
 +Pour appliquer vos modifs stockées dans le stash et les laisser dans le stash
 +  git stash apply
  
 Le reste dans  Le reste dans 
linux/git.1556094554.txt.gz · Dernière modification: 24-04-2019 10:29 de edmc73