Git (avancé)
Le temps linéaire c’est bien. Mais parfois, on a besoin d’avoir plusieurs versions du logiciel (une stable, une en cours de développement, une où on essaie une idée, une où on est en train d’implémenter une nouvelle fonctionnalité, etc.). C’est pour le temps est arborescent dans git.
Obtenir des informations sur le dépôt
Pour obtenir des informations sur l’état du dépôt :
git status
Lister les branches
git branch
Branches
Pour créer une nouvelle branche :
git branch [nom-nouvelle-branche]
Pour supprimer une branche :
git branch -d [branche-à-supprimer]
Pour basculer vers une branche :
git checkout [nom-de-branche]
Combiner des branches
Pour fusionner la branche courante avec une autre branche :
git merge [autre-branche]
Pour déplacer les commits de la branche courante après une certaine branche :
git rebase [nom-branche-après-laquelle]
Idée générale
TODO: faire une image plus simple pour commencer
Annulation de modifications
Pour annuler des commits et aller quelque part :
git reset [where]
Exemple :
-
annuler le dernier commit :
git reset HEAD^ -
annuler les deux derniers commit :
git reset HEAD^^
Commandes avancées
| Pour faire ça | Il faut taper ça |
|---|---|
| Modifier l’URL du serveur d’un dépôt local | git remote rm origin puis git remote add origin <url to NEW repo>, puis git push origin --all |
| Pour connaître l’URL du dépôt distant (serveur) | git remote -v |
| Pour arrêter que git demande un mot de passe | git config --global credential.helper store |