# 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

@@

En résumé