Parcourir la source

restructuration

Julien Dehos il y a 8 ans
Parent
commit
6c3b148410
6 fichiers modifiés avec 353 ajouts et 404 suppressions
  1. 80 0
      branches.md
  2. 202 0
      depot_distant.md
  3. 17 389
      depot_local.md
  4. 39 0
      forks.md
  5. 9 9
      index.md
  6. 6 6
      installation.md

+ 80 - 0
branches.md

@@ -0,0 +1,80 @@
+---
+title: "Tutoriel git <small><br> <hr> [introduction](index.html) | [installation](installation.html) | [dépôt local](depot_local.html) | [dépôt distant](depot_distant.html) | [branches](branches.html) | [forks](forks.html) <hr> </small>"
+output:
+    toc: true
+---
+
+* * * * *
+
+# Branches (travailler en équipe)
+
+TODO
+
+## Afficher les branches 
+git log --graph --all --oneline --decorate
+
+## Créer une nouvelle branche locale
+
+## Changer de branche
+
+## Fusionner des branches
+
+## Envoyer une branche sur un dépôt distant
+
+## Afficher les branches distantes
+
+## Terminer une branche locale
+
+## Terminer une branche distante
+
+## Supprimer un commit déjà pushé (DANGER !!!)
+git reset --hard e6c8e8e
+git push origin HEAD:master -f
+git reset --hard e6c8e8e
+
+![](branche_01.png)
+![](branche_02.png)
+![](branche_03.png)
+![](branche_04.png)
+![](branche_05.png)
+![](branche_06.png)
+![](branche_07.png)
+![](branche_08.png)
+![](branche_09.png)
+![](branche_10.png)
+![](branche_11.png)
+![](branche_12.png)
+![](branche_13.png)
+![](branche_14.png)
+![](branche_15.png)
+![](branche_16.png)
+![](branche_17.png)
+![](branche_18.png)
+![](branche_19.png)
+![](branche_20.png)
+![](branche_21.png)
+
+## Résumé et méthode de travail
+
+Résumé des commandes git précédentes :
+
+---|---|
+`git ` | |
+
+Quelques conseils de méthode de travail :
+
+- TODO
+
+
+## Exercice
+
+TODO
+
+* * * * *
+
+[Retour au début de la page](#header)
+
+[Retour à la page d'accueil](../../index.html)
+
+Dernière mise à jour : 2016-03-05
+

+ 202 - 0
depot_distant.md

@@ -0,0 +1,202 @@
+---
+title: "Tutoriel git <small><br> <hr> [introduction](index.html) | [installation](installation.html) | [dépôt local](depot_local.html) | [dépôt distant](depot_distant.html) | [branches](branches.html) | [forks](forks.html) <hr> </small>"
+output:
+    toc: true
+---
+
+* * * * *
+
+# Dépôt distant (sauvegarder un projet sur un serveur)
+
+Git permet de synchroniser un dépôt local avec un dépôt distant (sur un
+serveur).  Il existe des serveurs comme github qui permettent d'héberger
+gratuitement des dépôts publics (visibles par tout le monde).
+
+Le serveur gogs du SCOSI vous permet d'héberger des dépôts publics ou privés.
+Il dispose d'une page web vous permettant de gérer vos projets. Pour cela,
+allez à l'adresse
+[https://gogs.univ-littoral.fr](https://gogs.univ-littoral.fr) et entrez vos
+identifiants du portail ULCO :
+
+![](depot_distant_01.png)
+
+Une fois identifié, le site vous affiche une page d'accueil (derniers commits,
+dépôts actifs...) :
+
+![](depot_distant_02.png)
+
+## Créer un dépôt sur un serveur git
+
+Pour créer un nouveau dépôt distant, allez sur la page du serveur gogs et
+cliquez "New Repository".
+
+![](depot_distant_03.png)
+
+Entrez le nom du dépôt distant à créer (évitez les espaces), puis cliquez
+"Create Repository".
+
+![](depot_distant_04.png)
+
+Le dépôt distant est alors créé et une page vous indique comment le récupérer
+localement. Attention, il y a une méthode plus simple que celle indiquée (cf
+section suivante).
+
+![](depot_distant_05.png)
+
+## Créer un dépôt local à partir d'un dépôt distant
+
+La commande `git clone ...` permet de récupérer un dépôt distant sur votre
+machine (cf image ci-dessous). Pensez à mettre votre login après le "https://".
+
+![](depot_distant_06.png)
+
+## Ajouter un dépôt local à un dépôt distant
+
+Si vous avez déjà créé et modifié un dépôt local, vous pouvez le synchroniser
+avec un dépôt distant en utilisant les commandes `git remote add origin ...`
+puis `git push -u origin master`. Sinon, utilisez plutôt la méthode de la
+section précédente.
+
+![](depot_distant_07.png)
+
+## Récupérer les commits d'un dépôt distant
+
+La commande `git pull` permet de récupérer les éventuelles modifications sur le
+serveur et de les intégrer dans votre dépôt local.
+
+![](depot_distant_08.png)
+
+## Envoyer les commits locaux sur un dépôt distant
+
+La commande `git push` permet d'envoyer vos commits locaux sur le serveur.
+
+![](depot_distant_09.png)
+
+Les commits/fichiers envoyés sur le serveur sont alors visibles sur la page web.
+
+![](depot_distant_10.png)
+
+Vous pouvez également toujours voir le contenu de votre dépôt avec un client
+graphique.
+
+![](depot_distant_11.png)
+
+## Résoudre des conflits
+
+Imaginez que vous avez modifié et commité un fichier, et que vous voulez
+l'envoyer sur le serveur. Pour cela, il faut d'abord faire un `git pull` avant
+le `git push` au cas où l'un de vos collaborateurs aurait envoyer une
+modification sur le serveur entre temps. 
+
+Si des modifications ont été faites en parallèle, git est souvent capable de
+les fusionner mais parfois il n'arrive pas à résoudre le conflit et il vous
+demande de le faire manuellement.
+
+![](depot_distant_12.png)
+
+Pour résoudre un conflit, il suffit d'ouvrir le fichier en cause et de
+remplacez les zones marquées par le contenu que vous voulez obtenir. 
+Il existe des outils graphiques comme `meld` qui peuvent vous y aider.
+
+![](depot_distant_13.png)
+
+Une fois les conflits édités, vous pouvez commiter et pusher vers le serveur.
+
+![](depot_distant_14.png)
+
+## Résumé et méthode de travail
+
+Résumé des commandes git précédentes :
+
+---|---|
+`git clone` | récupère un dépôt distant |
+`git pull` | récupère les modifications du dépôt distant et les intègre dans le dépôt local |
+`git push` | envoie les commits du dépôt local sur le dépôt distant |
+
+Quelques conseils de méthode de travail :
+
+- utilisez la page
+  [https://gogs.univ-littoral.fr](https://gogs.univ-littoral.fr) pour créer et
+gérer vos dépôts distants.
+- récupérez vos nouveaux dépôts distant avec `git clone`
+- récupérez les modifications du serveur avec `git pull`
+- faites un `git pull` avant d'envoyer vos nouveaux commits sur le serveur (`git push`)
+
+## Exercice
+
+TODO
+
+* * * * *
+
+## Branches (travailler en équipe)
+
+TODO
+
+## Afficher les branches 
+git log --graph --all --oneline --decorate
+
+## Créer une nouvelle branche locale
+
+## Changer de branche
+
+## Fusionner des branches
+
+## Envoyer une branche sur un dépôt distant
+
+## Afficher les branches distantes
+
+## Terminer une branche locale
+
+## Terminer une branche distante
+
+## Supprimer un commit déjà pushé (DANGER !!!)
+git reset --hard e6c8e8e
+git push origin HEAD:master -f
+git reset --hard e6c8e8e
+
+![](branche_01.png)
+![](branche_02.png)
+![](branche_03.png)
+![](branche_04.png)
+![](branche_05.png)
+![](branche_06.png)
+![](branche_07.png)
+![](branche_08.png)
+![](branche_09.png)
+![](branche_10.png)
+![](branche_11.png)
+![](branche_12.png)
+![](branche_13.png)
+![](branche_14.png)
+![](branche_15.png)
+![](branche_16.png)
+![](branche_17.png)
+![](branche_18.png)
+![](branche_19.png)
+![](branche_20.png)
+![](branche_21.png)
+
+## Résumé et méthode de travail
+
+Résumé des commandes git précédentes :
+
+---|---|
+`git ` | |
+
+Quelques conseils de méthode de travail :
+
+- TODO
+
+
+## Exercice
+
+TODO
+
+* * * * *
+
+[Retour au début de la page](#header)
+
+[Retour à la page d'accueil](../../index.html)
+
+Dernière mise à jour : 2016-03-05
+

+ 17 - 389
depot_local.md

@@ -1,171 +1,17 @@
 ---
 ---
-title: "Tutoriel git"
+title: "Tutoriel git <small><br> <hr> [introduction](index.html) | [installation](installation.html) | [dépôt local](depot_local.html) | [dépôt distant](depot_distant.html) | [branches](branches.html) | [forks](forks.html) <hr> </small>"
 output:
 output:
     toc: true
     toc: true
 ---
 ---
 
 
 * * * * *
 * * * * *
 
 
-## Introduction
-
-### À qui s'adresse ce tutoriel ?
-- Objectif du tutoriel : apprendre à utiliser le système git et le [serveur
-  gogs](https://gogs.univ-littoral.fr) mis en place par le
-[SCOSI](http://scosi.univ-littoral.fr/). 
-- Pré-requis : utilisation basique d'un ordinateur (et notamment du clavier).
-- Public visé : les développeurs au sens large (code latex, python, matlab, R,
-  java...)
-
-### Qu'est-ce-que git et gogs ?
-- git : système de journalisation de code source décentralisé (alternative à
-  mercurial, subversion, CVS...)
-- gogs : service d'hébergement de code source utilisable avec git (alternative
-  à github, bitbucket...)
-
-### Dans quels cas utiliser git/gogs ?
-git est conçu pour manipuler principalement des fichiers **au format texte**
-(code source, code latex, fichier CSV...). Attention, les fichiers word, excel
-et PDF ne sont pas des fichiers au format texte.
-
-Quelques fonctionnalités de git :
-
-- journalisation 
-- sauvegarde distante 
-- synchronisation 
-- travail en équipe 
-- projets publics ou privés :
-
-### Dans quels cas ne pas utiliser git/gogs ?
-- édition collaborative en temps-réel -> sharelatex
-- partage de fichiers -> serveur ftp, http...
-- fichiers dans un format non textuel (word, excel, PDF...) -> dropbox
-
-### Concepts de base
-
-#### Notion de "version" (commit)
-
-Un "projet git" contient l'historique de toutes les modifications de chaque
-fichier.  On appelle "commit" un état sauvegardé de ces modifications (une
-version du projet en quelque sorte).
-
-Généralement, on modifie le projet à partir de la version précédente et ansi de
-suite; ce qui correspond à une succession de commits :
-
-![](concepts_commits_1.svg)
-
-Mais on peut également effectuer des modifications en parallèles. On appelle ça
-des branches :
-
-![](concepts_commits_2.svg)
-
-On peut ensuite rassembler ces modifications en fusionnant les branches :
-
-![](concepts_commits_3.svg)
-
-#### Notion de dépôt (repository)
-
-On appelle dépôt l'ensemble des fichiers de notre "projet git", c'est-à-dire
-l'historique des commits.
-
-Un dépôt peut être dupliqué sur différentes machines, pour synchroniser les
-données ou pour travailler en équipe. 
-
-Dans l'ancien temps des années 2000, on avait un dépôt principal distant que
-l'on synchronisait ou modifiait via des copies locales partielles (subversion,
-CVS...) :
-
-<img src="concepts_depots_svn.svg" style="width:700px">
-
-Aujourd'hui, on utilise plutôt un système de dépôts décentralisés (git,
-mercurial...).  Avec ce système, tous les dépôts sont identiques et peuvent se
-synchroniser entre eux :
-
-<img src="concepts_depots_git.svg" style="width:700px">
-
-Généralement, on garde tout de même un dépôt sur un serveur distant accessible
-en permanence (serveur gogs, github...).
-
-
-* * * * *
-
-## Installation et configuration
-
-Pour utiliser git, il vous faut une connexion internet et un client git.
-
-### Installation sous Linux
-
-La plupart des systèmes Linux modernes propose le client git dans leur système
-de paquets. Par exemple, sur les Linux basés Debian, il suffit de lancer la
-commande console :
-
-```
-sudo apt-get install git
-```
-
-Il existe également des clients graphiques : gitg, giggle, qgit, gitk, git-gui...
-
-### Installation sous Windows ou Mac
-
-Télécharger et installer le client [git pour
-Windows](http://git-scm.com/download/win) ou le client [git pour
-Mac](http://git-scm.com/download/mac).
-
-### Configuration
-
-Après avoir installé le client git, il faut configurer le nom et l'adresse
-e-mail de l'utilisateur (à faire une seule). Par exemple, en tapant les
-commandes consoles : 
-
-```
-$ git config --global user.name "Julien Dehos"
-$ git config --global user.email dehos@nimpe.org
-```
-
-On peut également configurer l'éditeur de texte et le proxy que le client git
-doit utiliser. Par exemple, en tapant les commandes consoles :
-
-```
-$ git config --global core.editor emacs
-$ git config --global http.proxy http://user:pass@proxyhost:proxyport
-```
-ou alors en ajoutant des variables d'environnement (par exemple, dans le
-`.bashrc`): 
-```
-export EDITOR=emacs
-export http_proxy=http://user:pass@proxyhost:proxyport
-```
-
-### Obtenir de l'aide
-
-Aide générale sur git :
-```
-$ git help 
-```
-
-Aide sur une commande git :
-```
-$ git help <commande git>
-```
-
-Voir également la section [références](#références).
-
-### Exercice
-
-Installez et configurez le client git sur votre machine.  Vérifiez que votre
-client git peut accéder à l'extérieur, par exemple en récupérant le dépôt
-distant `https://github.com/juliendehos/invinoveritas` :
-
-![](installation_01.png)
-
-
-* * * * *
-
-## Dépôt local (journaliser un projet)
+# Dépôt local (journaliser un projet)
 
 
 L'élément de base d'un projet git est le dépôt. Il s'agit simplement d'un
 L'élément de base d'un projet git est le dépôt. Il s'agit simplement d'un
 dossier classique que l'on demande à git de versionner.
 dossier classique que l'on demande à git de versionner.
 
 
-### Initialiser un dépôt
+## Initialiser un dépôt
 
 
 Allez dans le dossier à versionner puis lancez la commande `git init`. 
 Allez dans le dossier à versionner puis lancez la commande `git init`. 
 
 
@@ -176,7 +22,7 @@ voulez plus versionner votre dossier, il suffit de supprimer ce dossier.  Le
 reste du temps, ne touchez pas à ce dossier si vous n'êtes pas absolument
 reste du temps, ne touchez pas à ce dossier si vous n'êtes pas absolument
 sûr(e) de ce que vous faites.
 sûr(e) de ce que vous faites.
 
 
-### Afficher l'état d'un dépôt
+## Afficher l'état d'un dépôt
 
 
 La commande `git status` affiche l'état courant du dépôt : nouveaux fichiers,
 La commande `git status` affiche l'état courant du dépôt : nouveaux fichiers,
 fichiers modifiés, fichiers supprimés.  Cette commande est très sûre; elle ne
 fichiers modifiés, fichiers supprimés.  Cette commande est très sûre; elle ne
@@ -184,7 +30,7 @@ peut rien casser.  N'hésitez donc pas à la lancer pour voir où vous en êtes.
 
 
 ![](depot_local_02.png)
 ![](depot_local_02.png)
 
 
-### Ajouter des fichiers dans le dépôt
+## Ajouter des fichiers dans le dépôt
 
 
 Il faut indiquer explicitement les fichiers que git doit journaliser.  
 Il faut indiquer explicitement les fichiers que git doit journaliser.  
 
 
@@ -213,7 +59,7 @@ commits (journalisation), ce qu'on peut vérifier avec un `git status`.
 
 
 ![](depot_local_07.png)
 ![](depot_local_07.png)
 
 
-### Valider les modifications (commit)
+## Valider les modifications (commit)
 
 
 Après avoir ajouté, modifié ou supprimé des fichiers, on peut valider les
 Après avoir ajouté, modifié ou supprimé des fichiers, on peut valider les
 modifications, c'est-à-dire sauvegarder un état du projet (commit). Encore une
 modifications, c'est-à-dire sauvegarder un état du projet (commit). Encore une
@@ -242,7 +88,7 @@ Vous pouvez le vérifier avec un `git status`.
 
 
 ![](depot_local_11.png)
 ![](depot_local_11.png)
 
 
-### Fichiers autogénérés et .gitignore
+## Fichiers autogénérés et .gitignore
 
 
 Git est très pratique pour gérer des fichiers textes que l'on modifie
 Git est très pratique pour gérer des fichiers textes que l'on modifie
 régulièrement. En revanche, il n'est pas adapté pour gérer des fichiers dans un
 régulièrement. En revanche, il n'est pas adapté pour gérer des fichiers dans un
@@ -277,7 +123,7 @@ fichier `README.md` qui servira de page d'accueil (au format
 ![](depot_local_16.png)
 ![](depot_local_16.png)
 
 
 
 
-### Renommer et supprimer des fichiers
+## Renommer et supprimer des fichiers
 
 
 La commande `git mv` permet de renommer un fichier versionné. Il ne faut pas
 La commande `git mv` permet de renommer un fichier versionné. Il ne faut pas
 utiliser la commande système (`mv`) car dans ce cas git ne saura pas qu'il faut
 utiliser la commande système (`mv`) car dans ce cas git ne saura pas qu'il faut
@@ -291,7 +137,7 @@ De même, la commande `git rm` permet de supprimer un fichier versionné.
 ![](depot_local_18.png)
 ![](depot_local_18.png)
 
 
 
 
-### Afficher l'historique des commits
+## Afficher l'historique des commits
 
 
 Faisons d'abord une modification "commitée" puis une autre non commitée.
 Faisons d'abord une modification "commitée" puis une autre non commitée.
 
 
@@ -317,14 +163,14 @@ courant du dépôt.
 Ainsi, un `git commit` créé un commit à partir de l'état pointé par HEAD
 Ainsi, un `git commit` créé un commit à partir de l'état pointé par HEAD
 et fait pointer master (et HEAD) sur ce nouveau commit.
 et fait pointer master (et HEAD) sur ce nouveau commit.
 
 
-### Supprimer les modifications courantes
+## Supprimer les modifications courantes
 
 
 La commande `git checkout -- . ` supprime les modifications courantes. Le dépôt revient
 La commande `git checkout -- . ` supprime les modifications courantes. Le dépôt revient
 alors dans l'état du dernier commit (master).
 alors dans l'état du dernier commit (master).
 
 
 ![](depot_local_checkout_01.svg)
 ![](depot_local_checkout_01.svg)
 
 
-### Revenir à un commit précédent (sans suppression)
+## Revenir à un commit précédent (sans suppression)
 
 
 La commande `git checkout 7b3...` permet de revenir au commit "7b3...". On passe 
 La commande `git checkout 7b3...` permet de revenir au commit "7b3...". On passe 
 ainsi dans un mode "détaché" (HEAD ne pointe plus sur un commit terminal).
 ainsi dans un mode "détaché" (HEAD ne pointe plus sur un commit terminal).
@@ -336,7 +182,7 @@ Au lieu d'utiliser le numéro de commit, on peut également utiliser les
 principal ou `git checkout HEAD~1` pour aller au commit précédent le commit
 principal ou `git checkout HEAD~1` pour aller au commit précédent le commit
 courant.
 courant.
 
 
-### Marquer un commit
+## Marquer un commit
 
 
 La commande `git tag` permet de nommer des commits pour, par exemple, fixer une
 La commande `git tag` permet de nommer des commits pour, par exemple, fixer une
 version ou pouvoir revenir plus facilement sur un commit particulier.
 version ou pouvoir revenir plus facilement sur un commit particulier.
@@ -345,7 +191,7 @@ version ou pouvoir revenir plus facilement sur un commit particulier.
 
 
 ![](depot_local_checkout_03.svg)
 ![](depot_local_checkout_03.svg)
 
 
-### Supprimer des commits précédents
+## Supprimer des commits précédents
 
 
 La commande `git reset 073...` revient au commit "073..." et annule tous les
 La commande `git reset 073...` revient au commit "073..." et annule tous les
 commits suivant (jusqu'à l'ancien master). Les modifications correspondants à
 commits suivant (jusqu'à l'ancien master). Les modifications correspondants à
@@ -359,7 +205,7 @@ correspondantes**.
 
 
 ![](depot_local_checkout_05.svg)
 ![](depot_local_checkout_05.svg)
 
 
-### Résumé et méthode de travail
+## Résumé et méthode de travail
 
 
 Résumé des commandes git précédentes :
 Résumé des commandes git précédentes :
 
 
@@ -385,234 +231,16 @@ Quelques conseils de méthode de travail :
 - éviter de commiter un projet cassé (par exemple, du code qui ne compile pas)
 - éviter de commiter un projet cassé (par exemple, du code qui ne compile pas)
 - ne pas versionner les fichiers auto-générés
 - ne pas versionner les fichiers auto-générés
 
 
-### Exercice
+## Exercice
 
 
 
 
 TODO
 TODO
 
 
-
-
 * * * * *
 * * * * *
 
 
-## Dépôt distant (sauvegarder un projet sur un serveur)
-
-Git permet de synchroniser un dépôt local avec un dépôt distant (sur un
-serveur).  Il existe des serveurs comme github qui permettent d'héberger
-gratuitement des dépôts publics (visibles par tout le monde).
-
-Le serveur gogs du SCOSI vous permet d'héberger des dépôts publics ou privés.
-Il dispose d'une page web vous permettant de gérer vos projets. Pour cela,
-allez à l'adresse
-[https://gogs.univ-littoral.fr](https://gogs.univ-littoral.fr) et entrez vos
-identifiants du portail ULCO :
-
-![](depot_distant_01.png)
-
-Une fois identifié, le site vous affiche une page d'accueil (derniers commits,
-dépôts actifs...) :
-
-![](depot_distant_02.png)
-
-### Créer un dépôt sur un serveur git
-
-Pour créer un nouveau dépôt distant, allez sur la page du serveur gogs et
-cliquez "New Repository".
-
-![](depot_distant_03.png)
-
-Entrez le nom du dépôt distant à créer (évitez les espaces), puis cliquez
-"Create Repository".
-
-![](depot_distant_04.png)
-
-Le dépôt distant est alors créé et une page vous indique comment le récupérer
-localement. Attention, il y a une méthode plus simple que celle indiquée (cf
-section suivante).
-
-![](depot_distant_05.png)
-
-### Créer un dépôt local à partir d'un dépôt distant
-
-La commande `git clone ...` permet de récupérer un dépôt distant sur votre
-machine (cf image ci-dessous). Pensez à mettre votre login après le "https://".
-
-![](depot_distant_06.png)
-
-### Ajouter un dépôt local à un dépôt distant
-
-Si vous avez déjà créé et modifié un dépôt local, vous pouvez le synchroniser
-avec un dépôt distant en utilisant les commandes `git remote add origin ...`
-puis `git push -u origin master`. Sinon, utilisez plutôt la méthode de la
-section précédente.
-
-![](depot_distant_07.png)
-
-### Récupérer les commits d'un dépôt distant
-
-La commande `git pull` permet de récupérer les éventuelles modifications sur le
-serveur et de les intégrer dans votre dépôt local.
-
-![](depot_distant_08.png)
-
-### Envoyer les commits locaux sur un dépôt distant
-
-La commande `git push` permet d'envoyer vos commits locaux sur le serveur.
+[Retour au début de la page](#header)
 
 
-![](depot_distant_09.png)
-
-Les commits/fichiers envoyés sur le serveur sont alors visibles sur la page web.
-
-![](depot_distant_10.png)
-
-Vous pouvez également toujours voir le contenu de votre dépôt avec un client
-graphique.
-
-![](depot_distant_11.png)
-
-### Résoudre des conflits
-
-Imaginez que vous avez modifié et commité un fichier, et que vous voulez
-l'envoyer sur le serveur. Pour cela, il faut d'abord faire un `git pull` avant
-le `git push` au cas où l'un de vos collaborateurs aurait envoyer une
-modification sur le serveur entre temps. 
-
-Si des modifications ont été faites en parallèle, git est souvent capable de
-les fusionner mais parfois il n'arrive pas à résoudre le conflit et il vous
-demande de le faire manuellement.
-
-![](depot_distant_12.png)
-
-Pour résoudre un conflit, il suffit d'ouvrir le fichier en cause et de
-remplacez les zones marquées par le contenu que vous voulez obtenir. 
-Il existe des outils graphiques comme `meld` qui peuvent vous y aider.
-
-![](depot_distant_13.png)
-
-Une fois les conflits édités, vous pouvez commiter et pusher vers le serveur.
-
-![](depot_distant_14.png)
-
-### Résumé et méthode de travail
-
-Résumé des commandes git précédentes :
-
----|---|
-`git clone` | récupère un dépôt distant |
-`git pull` | récupère les modifications du dépôt distant et les intègre dans le dépôt local |
-`git push` | envoie les commits du dépôt local sur le dépôt distant |
-
-Quelques conseils de méthode de travail :
-
-- utilisez la page
-  [https://gogs.univ-littoral.fr](https://gogs.univ-littoral.fr) pour créer et
-gérer vos dépôts distants.
-- récupérez vos nouveaux dépôts distant avec `git clone`
-- récupérez les modifications du serveur avec `git pull`
-- faites un `git pull` avant d'envoyer vos nouveaux commits sur le serveur (`git push`)
-
-### Exercice
-
-TODO
-
-* * * * *
-
-## Branches (travailler en équipe)
-
-TODO
-
-### Afficher les branches 
-git log --graph --all --oneline --decorate
-
-### Créer une nouvelle branche locale
-
-### Changer de branche
-
-### Fusionner des branches
-
-### Envoyer une branche sur un dépôt distant
-
-### Afficher les branches distantes
-
-### Terminer une branche locale
-
-### Terminer une branche distante
-
-### Supprimer un commit déjà pushé (DANGER !!!)
-git reset --hard e6c8e8e
-git push origin HEAD:master -f
-git reset --hard e6c8e8e
-
-![](branche_01.png)
-![](branche_02.png)
-![](branche_03.png)
-![](branche_04.png)
-![](branche_05.png)
-![](branche_06.png)
-![](branche_07.png)
-![](branche_08.png)
-![](branche_09.png)
-![](branche_10.png)
-![](branche_11.png)
-![](branche_12.png)
-![](branche_13.png)
-![](branche_14.png)
-![](branche_15.png)
-![](branche_16.png)
-![](branche_17.png)
-![](branche_18.png)
-![](branche_19.png)
-![](branche_20.png)
-![](branche_21.png)
-
-### Résumé et méthode de travail
-
-Résumé des commandes git précédentes :
-
----|---|
-`git ` | |
-
-Quelques conseils de méthode de travail :
-
-- TODO
-
-
-### Exercice
-
-TODO
-
-* * * * *
-
-## Forks (collaborer avec d'autres projets)
-
-TODO
-
-### Forker un dépôt distant
-
-### Envoyer un pull request
-
-### Résumé et méthode de travail
-
-Résumé des commandes git précédentes :
-
----|---|
-`git ` | |
-
-Quelques conseils de méthode de travail :
-
-- TODO
-
-### Exercice
-
-TODO
-
-* * * * *
-
-## Références
-
-- [https://www.atlassian.com/git/tutorials/](https://www.atlassian.com/git/tutorials/)
-- [http://git-scm.com/book/fr/v2](http://git-scm.com/book/fr/v2)
-
-* * * * *
+[Retour à la page d'accueil](../../index.html)
 
 
 Dernière mise à jour : 2016-03-05
 Dernière mise à jour : 2016-03-05
 
 

+ 39 - 0
forks.md

@@ -0,0 +1,39 @@
+---
+title: "Tutoriel git <small><br> <hr> [introduction](index.html) | [installation](installation.html) | [dépôt local](depot_local.html) | [dépôt distant](depot_distant.html) | [branches](branches.html) | [forks](forks.html) <hr> </small>"
+output:
+    toc: true
+---
+
+* * * * *
+
+# Forks (collaborer avec d'autres projets)
+
+TODO
+
+## Forker un dépôt distant
+
+## Envoyer un pull request
+
+## Résumé et méthode de travail
+
+Résumé des commandes git précédentes :
+
+---|---|
+`git ` | |
+
+Quelques conseils de méthode de travail :
+
+- TODO
+
+## Exercice
+
+TODO
+
+* * * * *
+
+[Retour au début de la page](#header)
+
+[Retour à la page d'accueil](../../index.html)
+
+Dernière mise à jour : 2016-03-05
+

+ 9 - 9
index.md

@@ -6,9 +6,9 @@ output:
 
 
 * * * * *
 * * * * *
 
 
-## Introduction
+# Introduction
 
 
-### À qui s'adresse ce tutoriel ?
+## À qui s'adresse ce tutoriel ?
 - Objectif du tutoriel : apprendre à utiliser le système git et le [serveur
 - Objectif du tutoriel : apprendre à utiliser le système git et le [serveur
   gogs](https://gogs.univ-littoral.fr) mis en place par le
   gogs](https://gogs.univ-littoral.fr) mis en place par le
 [SCOSI](http://scosi.univ-littoral.fr/). 
 [SCOSI](http://scosi.univ-littoral.fr/). 
@@ -16,13 +16,13 @@ output:
 - Public visé : les développeurs au sens large (code latex, python, matlab, R,
 - Public visé : les développeurs au sens large (code latex, python, matlab, R,
   java...)
   java...)
 
 
-### Qu'est-ce-que git et gogs ?
+## Qu'est-ce-que git et gogs ?
 - git : système de journalisation de code source décentralisé (alternative à
 - git : système de journalisation de code source décentralisé (alternative à
   mercurial, subversion, CVS...)
   mercurial, subversion, CVS...)
 - gogs : service d'hébergement de code source utilisable avec git (alternative
 - gogs : service d'hébergement de code source utilisable avec git (alternative
   à github, bitbucket...)
   à github, bitbucket...)
 
 
-### Dans quels cas utiliser git/gogs ?
+## Dans quels cas utiliser git/gogs ?
 git est conçu pour manipuler principalement des fichiers **au format texte**
 git est conçu pour manipuler principalement des fichiers **au format texte**
 (code source, code latex, fichier CSV...). Attention, les fichiers word, excel
 (code source, code latex, fichier CSV...). Attention, les fichiers word, excel
 et PDF ne sont pas des fichiers au format texte.
 et PDF ne sont pas des fichiers au format texte.
@@ -35,14 +35,14 @@ Quelques fonctionnalités de git :
 - travail en équipe 
 - travail en équipe 
 - projets publics ou privés :
 - projets publics ou privés :
 
 
-### Dans quels cas ne pas utiliser git/gogs ?
+## Dans quels cas ne pas utiliser git/gogs ?
 - édition collaborative en temps-réel -> sharelatex
 - édition collaborative en temps-réel -> sharelatex
 - partage de fichiers -> serveur ftp, http...
 - partage de fichiers -> serveur ftp, http...
 - fichiers dans un format non textuel (word, excel, PDF...) -> dropbox
 - fichiers dans un format non textuel (word, excel, PDF...) -> dropbox
 
 
-### Concepts de base
+## Concepts de base
 
 
-#### Notion de "version" (commit)
+## Notion de "version" (commit)
 
 
 Un "projet git" contient l'historique de toutes les modifications de chaque
 Un "projet git" contient l'historique de toutes les modifications de chaque
 fichier.  On appelle "commit" un état sauvegardé de ces modifications (une
 fichier.  On appelle "commit" un état sauvegardé de ces modifications (une
@@ -62,7 +62,7 @@ On peut ensuite rassembler ces modifications en fusionnant les branches :
 
 
 ![](concepts_commits_3.svg)
 ![](concepts_commits_3.svg)
 
 
-#### Notion de dépôt (repository)
+## Notion de dépôt (repository)
 
 
 On appelle dépôt l'ensemble des fichiers de notre "projet git", c'est-à-dire
 On appelle dépôt l'ensemble des fichiers de notre "projet git", c'est-à-dire
 l'historique des commits.
 l'historique des commits.
@@ -85,7 +85,7 @@ synchroniser entre eux :
 Généralement, on garde tout de même un dépôt sur un serveur distant accessible
 Généralement, on garde tout de même un dépôt sur un serveur distant accessible
 en permanence (serveur gogs, github...).
 en permanence (serveur gogs, github...).
 
 
-### Références
+## Références
 
 
 - [http://git-scm.com/book/fr/v2](http://git-scm.com/book/fr/v2)
 - [http://git-scm.com/book/fr/v2](http://git-scm.com/book/fr/v2)
 - [https://www.atlassian.com/git/tutorials/](https://www.atlassian.com/git/tutorials/)
 - [https://www.atlassian.com/git/tutorials/](https://www.atlassian.com/git/tutorials/)

+ 6 - 6
installation.md

@@ -6,11 +6,11 @@ output:
 
 
 * * * * *
 * * * * *
 
 
-## Installation et configuration
+# Installation et configuration
 
 
 Pour utiliser git, il vous faut une connexion internet et un client git.
 Pour utiliser git, il vous faut une connexion internet et un client git.
 
 
-### Installation sous Linux
+## Installation sous Linux
 
 
 La plupart des systèmes Linux modernes propose le client git dans leur système
 La plupart des systèmes Linux modernes propose le client git dans leur système
 de paquets. Par exemple, sur les Linux basés Debian, il suffit de lancer la
 de paquets. Par exemple, sur les Linux basés Debian, il suffit de lancer la
@@ -22,13 +22,13 @@ sudo apt-get install git
 
 
 Il existe également des clients graphiques : gitg, giggle, qgit, gitk, git-gui...
 Il existe également des clients graphiques : gitg, giggle, qgit, gitk, git-gui...
 
 
-### Installation sous Windows ou Mac
+## Installation sous Windows ou Mac
 
 
 Télécharger et installer le client [git pour
 Télécharger et installer le client [git pour
 Windows](http://git-scm.com/download/win) ou le client [git pour
 Windows](http://git-scm.com/download/win) ou le client [git pour
 Mac](http://git-scm.com/download/mac).
 Mac](http://git-scm.com/download/mac).
 
 
-### Configuration
+## Configuration
 
 
 Après avoir installé le client git, il faut configurer le nom et l'adresse
 Après avoir installé le client git, il faut configurer le nom et l'adresse
 e-mail de l'utilisateur (à faire une seule). Par exemple, en tapant les
 e-mail de l'utilisateur (à faire une seule). Par exemple, en tapant les
@@ -53,7 +53,7 @@ export EDITOR=emacs
 export http_proxy=http://user:pass@proxyhost:proxyport
 export http_proxy=http://user:pass@proxyhost:proxyport
 ```
 ```
 
 
-### Obtenir de l'aide
+## Obtenir de l'aide
 
 
 Aide générale sur git :
 Aide générale sur git :
 ```
 ```
@@ -67,7 +67,7 @@ $ git help <commande git>
 
 
 Voir également la section [références](#références).
 Voir également la section [références](#références).
 
 
-### Exercice
+## Exercice
 
 
 Installez et configurez le client git sur votre machine.  Vérifiez que votre
 Installez et configurez le client git sur votre machine.  Vérifiez que votre
 client git peut accéder à l'extérieur, par exemple en récupérant le dépôt
 client git peut accéder à l'extérieur, par exemple en récupérant le dépôt