On Github revollat / git-tuto
Beaucoup d'exemples sont montré en ligne de commande : Pas de panique :)
La pratique et ensuite la théorie ...
Nous allons créer un petit site statique (en HTML5) pour les besoin de la démo.
On commence avec un répértoire dans lequel nous avons notre projet
On veux gérer notre projet avec Git, le but de cette présentation :)
git init
Toues les commandes sont de la forme "git commande_git". Pour avoir de l'aide sur une commande particulière :
git help commande_git
exemple pour l'aide sur init :
git help init
On peut faire la meme chose via une interface graphique (Clients Git gratuits/Open Source pour Windows, Linux, MacOS, ...)
Nous allons maintenant ajouter les 3 fichiers dans Git
Encore une fois, nous aurions pu faire ça avec une interface graphique (clic, clic, clic, :) Dans les exemples suivants, je vais me concentrer sur la ligne de comande qui constitue le coeur de git car tous ce que fais l'interface graphique repose sur les commande "git" en arrière plan et la ligne de commade est BEAUCOUP plus puissante que les interfaces graphiques :
Maintenant que nos fichiers sont "dans" Git, que se passe t-il si on en modifie un ?
On refait les meme commande "git add" et "git commit" pour avoir un répértoire de travail "propre"
Au début il y a beaucoup de vocabulaire à retenir pour comprendre Git : working directory, Stagging area, commit, repository, ... Mais rassurez vous : très rapidement ces concepts deviennent concrets et facile à utiliser
Ce qu'il faut retenir pour le moment, c'est que la zone d'index (ou stagging area) permet de selectionner finement ce que l'on veux entreposer dans git (Repository) de façon permanante
Mais retournons à notre projet : nous avons effectuer 2 fois la commande "git commit", voyons ce que contient l' "historique"
git log
Nous voyons ici nos 2 commit (identifiés par des numéros) qui representent l'état de notre arboresence lorsque nous avons fait le commit, en ce moment nous pointons en haut de la pile, le le dernier commt (branche "master")
Voyons cela de plus près ...
Si vous arrivez à avoir une image correcte de la façon dont Git fonctionne en interne tout vous paraitra clair et logique par la suite !!!
Voila comment git enregistre les données
git cat-file
git remote add luisgithub git@github.com:luisibanez/Git-Branchy-Story-Exercise-02.git
Work with your Team
! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@github.com:ossp/Git-Branchy-Story-Exercise-01.git' hint: Updates were rejected because a pushed branch tip is behind its remote hint: counterpart. Check out this branch and merge the remote changes hint: (e.g. 'git pull') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.
git pull origin master
git push origin master