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:11] benoit |
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 ==== | ||
| + | Pour retirer un fichier du dépôt : | ||
| + | |||
| + | 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 196: | 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 293: | 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 | ||