Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| linux:git [11-02-2019 13:50] – [Git] edmc73 | linux:git [05-12-2023 12:52] (Version actuelle) – [Checkout] edmc73 | ||
|---|---|---|---|
| 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 qui va bien => https:// |
| - | + | ||
| - | Autre tuto en français | + | |
| - | + | ||
| - | Un autre aussi qui va bien => https:// | + | |
| ===== Installation ===== | ===== Installation ===== | ||
| Ligne 117: | 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' | ||
| + | git reset < | ||
| + | git reset < | ||
| + | |||
| + | |||
| + | Revenir à l' | ||
| + | git reset < | ||
| + | |||
| + | Revenir à l' | ||
| + | git reset < | ||
| + | |||
| + | |||
| + | Enlever un fichier du commit | ||
| + | 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 HEAD^ |
| + | |||
| + | |||
| + | Le **git revert** (pas de perte d' | ||
| + | |||
| + | Pour annuler un commit en particulier. Crée un nouveau commit | ||
| + | git revert < | ||
| + | |||
| + | Pour annuler un commit sur un fichier | ||
| + | | ||
| + | |||
| + | |||
| + | 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 151: | Ligne 181: | ||
| Voir les branches | Voir les branches | ||
| git branch | git branch | ||
| + | |||
| + | === Création === | ||
| Créer une branche | Créer une branche | ||
| Ligne 171: | Ligne 203: | ||
| 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 180: | 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' | ||
| - | 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 192: | 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' | ||
| + | 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 202: | 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' | ||
| Pour tester votre merge, faite un test sur une branche temporaire | Pour tester votre merge, faite un test sur une branche temporaire | ||
| Ligne 222: | Ligne 282: | ||
| 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 324: | Ligne 385: | ||
| Supprimer un fichier uniquement de l' | Supprimer un fichier uniquement de l' | ||
| git rm --cached fichier | git rm --cached fichier | ||
| + | |||
| + | Pour supprimer le fichier de tout l' | ||
| + | git filter-branch --index-filter 'git rm --cached (file)' | ||
| Supprimer tous les fichiers pourris de iOS (échapper l' | Supprimer tous les fichiers pourris de iOS (échapper l' | ||
| Ligne 394: | 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/ | ||
| 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 405: | Ligne 472: | ||
| 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 839: | Ligne 909: | ||
| 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 ===== | ||