Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
linux:git [13-01-2019 21:50] edmc73 [Les branches] |
linux:git [09-03-2023 14:55] edmc73 [Stash] |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
La base de la base, en gros et en français ;) => http:// | La base de la base, en gros et en français ;) => http:// | ||
- | L' | + | Un tuto en français |
- | + | ||
- | Autre tuto en français | + | |
===== Installation ===== | ===== Installation ===== | ||
Ligne 115: | 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 | + | Enlever un fichier du commit |
- | git reset -- lefichier | + | git reset lefichier |
+ | équivalent de | ||
+ | git reset --mixed HEAD lefichier | ||
Annuler le dernier commit non encore propagé (n' | Annuler le dernier commit non encore propagé (n' | ||
git reset HEAD^ | git reset HEAD^ | ||
- | Ne plus suivre | + | Annuler votre dernier commit non propagé |
- | git reset HEAD nom_du_fichier ou répertoire | + | git reset --hard |
+ | |||
+ | Utile si vous voulez remettre le projet dans un état spécifique | ||
+ | git reset --hard < | ||
+ | |||
+ | |||
+ | |||
+ | Plus d'info sur git reset => https:// | ||
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 149: | Ligne 158: | ||
Voir les branches | Voir les branches | ||
git branch | git branch | ||
+ | |||
+ | === Création === | ||
Créer une branche | Créer une branche | ||
Ligne 169: | Ligne 180: | ||
Pour pousser votre branche sur le dépôt afin qu' | Pour pousser votre branche sur le dépôt afin qu' | ||
git branch --set-upstream nom_dune_branche origin/ | git branch --set-upstream nom_dune_branche origin/ | ||
+ | |||
+ | |||
+ | === 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 178: | Ligne 192: | ||
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' | ||
- | 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 190: | Ligne 199: | ||
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' | ||
+ | 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 | ||
+ | |||
Après avoir supprimé votre branch, il est possible qu'en utilisant '' | Après avoir supprimé votre branch, il est possible qu'en utilisant '' | ||
$ git remote prune origin | $ git remote prune origin | ||
+ | |||
+ | Pour supprimer la branch sur origin | ||
+ | git push origin --delete nom_branche_qui_sert_plus | ||
+ | |||
=== tester un merge === | === tester un merge === | ||
Ligne 216: | Ligne 244: | ||
git checkout v2 | git checkout v2 | ||
- | On veut appliquer | + | On veut appliquer |
+ | git checkout master | ||
git cherry-pick a2a2a2 | git cherry-pick a2a2a2 | ||
- | Il peut y avoir des conflits | + | Si vous rencontrez |
< | < | ||
$ git cherry-pick 19c0c1d | $ git cherry-pick 19c0c1d | ||
Ligne 388: | Ligne 417: | ||
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/ | ||
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 399: | Ligne 431: | ||
git stash show stash@{0} | git stash show stash@{0} | ||
- | Pour réappliquer | + | Pour appliquer |
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 | ||
Ligne 833: | Ligne 868: | ||
Profitez-en pour limiter l' | Profitez-en pour limiter l' | ||
+ | <code apache> | ||
+ | <Files " | ||
+ | Order Deny,Allow | ||
+ | Deny from all | ||
+ | </ | ||
+ | </ | ||
===== Faire le ménage dans son historique ===== | ===== Faire le ménage dans son historique ===== | ||