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 | ||
linux:git [13-01-2019 21:50] edmc73 [Les branches] |
linux:git [05-12-2023 13:52] (Version actuelle) edmc73 [Checkout] |
||
---|---|---|---|
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 | + | |
- | 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 149: | Ligne 181: | ||
Voir les branches | Voir les branches | ||
git branch | git branch | ||
+ | |||
+ | === Création === | ||
Créer une branche | Créer une branche | ||
Ligne 169: | 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 178: | 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 190: | 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 | ||
+ | |||
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 === | ||
+ | |||
+ | 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 216: | 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 uy avoir des conflits | + | Si vous rencontrez |
< | < | ||
$ git cherry-pick 19c0c1d | $ git cherry-pick 19c0c1d | ||
Ligne 318: | 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 388: | 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 399: | 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 833: | 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 ===== | ||