21 KiB
Utilisation au quotidien
@@
Initialisation
$ git init
Création d'un dépôt local
Génère le dossier .git
@@
Ajout de fichiers
Ajout de tous les fichiers
$ git add .
Ajout d'un fichier en particulier
$ git add file1.txt
Ajout de tous les fichiers textes
$ git add *.txt
Déplacement de fichiers
$ git mv old new
$ git rm fichier
@@
Commit d'un fichier
Commit des fichiers dans l’index
$ git commit –m "Description commit"
@@
Quand commiter ?
- 1 commit = 1 tâche
- Commit = code stable
aussi souvent que possible !
@@
Formattage des commits
Mettre en place des règles sur le projet.
1 bonne pratique = les règles Google AngularJS.
[https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commits](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commits)
@@
<type>(scope):<sujet>
type : type de commit (feat, fix, chore, test, docs)
scope : partie du code concerné
sujet: description succincte
Exemples
feat(Module): add info method
fix(input[number]): add min/max
docs(Licence): update definition
chore(travis): fix deploy rules
Format des commits
Les commandes usuelles
Consulter l’état d’un dépôt : `git status`
Consulter l’historique des commits du plus récent au plus ancien : `git log`, `git log --oneline`, `git log --graph`, `gitk`
Basculer vers une version antérieure sur un commit particulier : `git checkout `
Revenir au commit le plus récent :
`git checkout ` / `git checkout master`
Récupérer l’état d’un fichier tel qu’il était à lors d’un commit particulier : `git checkout `
@@
Retour arrière
Retirer un fichier de la " stagging area".
@@
Retour arrière
Restaurer un fichier depuis la "stagging area".
@@
Retour arrière
Restaurer un fichier depuis un commit.
@@
3 modes de reset
Hard : Perte des "commits" et des fichiers.
Mixed : mode par défaut, supprime les commit, leur contenu se retrouve dans la " working area".
Soft : supprime les "commits", leur contenu se retouve and la " stagging area".
Ne jamais supprimer un commit distant
Avoir un "working directory" propre
(pas de modifications en cours)
@@
Reset Hard
git reset --hard <no_commit>
Le numéro de commit correspond à la position sur laquelle il y a une reposition.
@@
Reset --mixed
git reset <no_commit>
Reset par défaut toutes les modifications sont mélangées dans la working directory.
@@
Reset --soft
git reset --soft <no_commit>
Reset toutes les modifications sont dans la staging area.
@@
Modifier le dernier commit
Pour corriger le message d'un dernier commit
et/ou ajouter un fichier oublié.
git commit --amend <text>
Ne fonctionne que si le commit est local !
@@
Cloner un dépôt
Construit un dépôt local à l'image d'un dépôt distant dans le répertoire courant
git clone <remote_url>
Plusieurs protocoles sont disponibles : Local, git, ssh/git, http(s)
git clone git://github.com/jeanbon/project.git
git clone https://gitlab.com/jeanbon/project.git
@@