-
Notifications
You must be signed in to change notification settings - Fork 1
Mini Tuto Git
Un petit tuto rapidement pour Git. C'est vraiment les commandes de base, pour le reste, hop hop hop, on cherche dans la doc :) (vous pouvez toujours me poser des questions ^_^)
Première chose… Super importante :
$ git config --global user.name "Prénom NOM"
$ git config --global user.email "adresse@serveur.com"Votre adresse mail doit être la même que celle de Github ;)
C'est ça qui fera le lien entre vos commits et votre utilisateur.
Le dépôt dispose d'un index des fichiers qu'il contient. Pour rajouter un fichier ou un répertoire, il suffit de faire ceci :
$ git add pathSi le chemin est un répertoire, le répertoire lui-même ainsi que tout son contenu (récursivement) est alors rajouté dans l'index. Vous ne pouvez pas commiter un fichier s'il n'est pas dans l'index.
$ git commit file1 file2 folder1 folder2La commande git commit -a permet de commiter tout ce qu'il y a à commiter… Mais je l'aime pas trop, tout simplement parce que ça va vous donner envie de faire de gros commits qui veulent rien dire; Lister les fichiers et/ou dossier de cette manière est donc plus intéressant.
On peut utiliser l'option -m pour rajouter le message de validation directement. Sans cela, un éditeur va s'ouvrir pour recueillir ce message. S'il est vide, le processus de validation est abandonné.
Si l'éditeur par défaut est vim : i pour être insertion, entrer le message, :wq pour quitter.
$ git statusPermet de vérifier les fichiers à ajouter, supprimer ou commiter, à faire systématiquement avant un commit.
$ git diff$ git reset --hardLe dépôt revient à son état après le dernier commit, mais cette commande ne touche pas les fichiers ne faisant pas partie du dépôt. Mais faites attention… Ça supprimera toutes vos modifications que vous n'avez pas commit, ça peut être dangereux.
Pour envoyer vos modifications vers le serveur, c'est :
$ git push origin masterPour envoyer vers la branche principale.
Pour envoyer vers une branche distante, ça sera
$ git push origin mySuperBranchFaites des push régulièrement, dans l'idéal, une feature = un push. J'aimerai bien qu'on mette en place un bon workflow… On va voir de comment vous vous en sortez ;)
Pour récupérer les modifications
$ git pull origin masterEt pour récupérer les modifications d'une branche particulière
$ git push origin mySuperBranch$ git branch$ git branch -a$ git checkout -b new_branch$ git checkout branch_name$ git merge nom_branche- Dans l'idéal, j'aimerai bien qu'on arrive à mettre ça en place : http://nvie.com/posts/a-successful-git-branching-model/ Mais bon, ça dépendra de vous… :p
- http://nvie.com/posts/a-successful-git-branching-model/
- http://openclassrooms.com/courses/gerez-vos-codes-source-avec-git
- https://try.github.io/levels/1/challenges/1 (juste parce que c'est fun)
- http://www.vogella.com/tutorials/Git/article.html
- http://rogerdudler.github.io/git-guide/
[color]
diff = auto
status = auto
branch = auto
[user]
name = PrÉNOM NOM
email = ADRESSE@MAIL.FR
[pager]
diff =
[alias]
st = status
lg = log --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
[color "status"]
added = green
changed = yellow
untracked = cyan
[push]
default = matching