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 | ||
informatique:linux:git [2020/02/15 10:15] benoit [Supprimer un fichier ou dossier du dépôt] |
informatique:linux:git [2024/09/04 13:56] (Version actuelle) benoit [Restaurer une ancienne version] |
||
---|---|---|---|
Ligne 184: | Ligne 184: | ||
git add file.php | git add file.php | ||
+ | |||
+ | Pour ajouter tout ce qu'il y a dans le dossier | ||
+ | |||
+ | git add . | ||
==== Supprimer un fichier ou dossier du dépôt ==== | ==== Supprimer un fichier ou dossier du dépôt ==== | ||
Ligne 191: | Ligne 195: | ||
git rm test.php | git rm test.php | ||
+ | ==== Renommer/déplacer un fichier ou dossier du dépôt ==== | ||
+ | |||
+ | Pour retirer un fichier du dépôt : | ||
+ | |||
+ | git mv test.php test_ren.php | ||
==== Commit et Push vers le dépôt ==== | ==== Commit et Push vers le dépôt ==== | ||
Le ''commit'' met à jour votre dépôt local. Quant au ''push'' il poussera vos commit locaux vers le serveur GIT distant. | Le ''commit'' met à jour votre dépôt local. Quant au ''push'' il poussera vos commit locaux vers le serveur GIT distant. | ||
Ligne 200: | Ligne 209: | ||
git push | git push | ||
+ | ==== Restaurer une ancienne version ==== | ||
+ | |||
+ | Vous avez accidentellement supprimé le fichier ''test.php''? Pour le restaurer : | ||
+ | |||
+ | git checkout HEAD test.php | ||
+ | |||
+ | Ou bien pour restaurer tout : | ||
+ | |||
+ | git checkout HEAD . | ||
+ | |||
+ | |||
+ | Vous souhaitez restaurer un version particulière. Lister l'historique des commit pour commencer : | ||
+ | git log --oneline | ||
+ | |||
+ | Vous aurez une liste des commits. Identifier la version à restaurer (exemple ''2c1bc23'') : | ||
+ | |||
+ | f42d29c erreur fichier info.php | ||
+ | 2c1bc23 bon fichier info.php | ||
+ | 28a9443 autre commit | ||
+ | |||
+ | Pour la restaurer : | ||
+ | |||
+ | git checkout 2c1bc23 info.php | ||
+ | git add info.php | ||
+ | git commit -m 'restauration info.php de 2c1bc23' | ||
+ | git push | ||
+ | |||
+ | ==== Restaurer tout le projet au dernier push ==== | ||
+ | Annule toutes les modifications dans les fichiers suivis : | ||
+ | git reset --hard | ||
+ | | ||
+ | Supprime tous les fichiers non suivis (-f pour forcer, et -d pour supprimer les répertoires) : | ||
+ | git clean -fd | ||
+ | |||
+ | Checkout de la branche : | ||
+ | git checkout master | ||
===== Gestion des conflits ===== | ===== Gestion des conflits ===== | ||
Ligne 297: | Ligne 342: | ||
git commit -m "Copie distante acceptée" | git commit -m "Copie distante acceptée" | ||
git push | git push | ||
+ | | ||
+ | ===== Gestion des branchs ===== | ||
+ | ==== Créer une nouvelle branche ==== | ||
+ | |||
+ | Créer la branch nommée par exemple ''test1_branch'': | ||
+ | |||
+ | git checkout -b test1_branch | ||
+ | | ||
+ | Ajouter les fichiers, vos modifications, les comit etc... Puis pour faire le premier ''push'' sur cette branche : | ||
+ | git push --set-upstream origin test1_branch | ||
+ | |||
+ | ==== Switcher sur une autre branche ==== | ||
+ | |||
+ | Si quelqu'un d'autre doit aussi travailler sur la nouvelle branche. Il peut switcher ainsi : | ||
+ | |||
+ | git checkout test1_branch | ||
+ | |||
+ | Pour revenir à la branch master : | ||
+ | |||
+ | git checkout master | ||
+ | | ||
+ | ==== Fusionner une branch vers le master ==== | ||
+ | |||
+ | Switcher sur la branche ''master'' : | ||
+ | git checkout master | ||
+ | |||
+ | Fusionner la branche ''test1_branch'' : | ||
+ | git merge test1_branch | ||
+ | |||
+ | Commit de la fusion : | ||
+ | git commit . -m "fusion branch test1_branch avec master" | ||
+ | | ||
+ | Puis un push : | ||
+ | git push | ||
+ | |||
+ | Pour récupérer un fichier venant d'une autre branche et l'intégrer à la votre. Ci-dessous, on récupère le fichier ''hotfix.php'' depuis la branche ''hotfix'' : | ||
+ | git checkout test1_branch | ||
+ | git checkout origin/hotfix hotfix.php | ||
+ | |||
+ | ==== Renommer une branch ==== | ||
+ | Récupérer la copie à renommer: | ||
+ | git checkout old_branch_name | ||
+ | |||
+ | Renommer la branch: | ||
+ | git branch -m new_branch_name | ||
+ | |||
+ | Pousser la nouvelle branch: | ||
+ | git push origin -u new_branch_name | ||
+ | |||
+ | Effacer l'ancienne branch: | ||
+ | git push origin --delete old_branch_name | ||
+ | |||
+ | ==== Créer une branch orpheline ==== | ||
+ | |||
+ | git checkout --orphan NEWBRANCH | ||
+ | git rm -rf . | ||
+ | ==== Lister les branchs ==== | ||
+ | Lister les branchs | ||
+ | |||
+ | git branch |