|
@@ -12,7 +12,7 @@ output:
|
|
- 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/).
|
|
-- Pré-requis : utilisation basique d'un ordinateur.
|
|
|
|
|
|
+- Pré-requis : utilisation basique d'un ordinateur (et notamment du clavier).
|
|
- 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...)
|
|
|
|
|
|
@@ -24,7 +24,10 @@ output:
|
|
|
|
|
|
### 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...). Il permet notamment :
|
|
|
|
|
|
+(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
|
|
- journalisation
|
|
- sauvegarde distante
|
|
- sauvegarde distante
|
|
@@ -35,7 +38,7 @@ git est conçu pour manipuler principalement des fichiers **au format texte**
|
|
### 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 (jpg, word, excel...) -> dropbox
|
|
|
|
|
|
+- fichiers dans un format non textuel (word, excel, PDF...) -> dropbox
|
|
|
|
|
|
### Concepts de base
|
|
### Concepts de base
|
|
|
|
|
|
@@ -61,7 +64,7 @@ On peut ensuite rassembler ces modifications en fusionnant les branches :
|
|
|
|
|
|
#### 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", avec
|
|
|
|
|
|
+On appelle dépôt l'ensemble des fichiers de notre "projet git", c'est-à-dire
|
|
l'historique des commits.
|
|
l'historique des commits.
|
|
|
|
|
|
Un dépôt peut être dupliqué sur différentes machines, pour synchroniser les
|
|
Un dépôt peut être dupliqué sur différentes machines, pour synchroniser les
|
|
@@ -350,11 +353,37 @@ ces commits sont conservées dans l'état courant (non commité).
|
|
|
|
|
|

|
|

|
|
|
|
|
|
-La commande `git reset --hard 073...` revient au commit "073..." et annule tous les
|
|
|
|
-commits suivant **en supprimant les modifications correspondantes**.
|
|
|
|
|
|
+Autre possibilité : la commande `git reset --hard 073...` revient au commit
|
|
|
|
+"073..." et annule tous les commits suivant **en supprimant les modifications
|
|
|
|
+correspondantes**.
|
|
|
|
|
|

|
|

|
|
|
|
|
|
|
|
+### Résumé et méthode de travail
|
|
|
|
+
|
|
|
|
+Résumé des commandes git précédentes :
|
|
|
|
+
|
|
|
|
+---|---|
|
|
|
|
+`git init` | initialise le dossier courant (nouveau dépôt git) |
|
|
|
|
+`git status` | TODO |
|
|
|
|
+`git add` | |
|
|
|
|
+`git commit -a` | |
|
|
|
|
+`git mv` | |
|
|
|
|
+`git rm` | |
|
|
|
|
+`git log` | |
|
|
|
|
+`git checkout -- .` | |
|
|
|
|
+`git checkout <commit/etiquette>` | |
|
|
|
|
+`git tag` | |
|
|
|
|
+`git reset` | |
|
|
|
|
+`git reset --hard` | |
|
|
|
|
+
|
|
|
|
+Quelques conseils de méthode de travail :
|
|
|
|
+
|
|
|
|
+- privilégier les petits dépôts, correspondant à différents travaux, plutôt
|
|
|
|
+ qu'un gros dépôt regroupant tous les travaux de l'année
|
|
|
|
+- faire des commits réguliers et correspondant aux petites tâches successives
|
|
|
|
+- éviter de commiter un projet cassé (par exemple, du code qui ne compile pas)
|
|
|
|
+- ne pas versionner les fichiers auto-générés
|
|
|
|
|
|
### Exercice
|
|
### Exercice
|
|
|
|
|
|
@@ -369,26 +398,117 @@ TODO
|
|
|
|
|
|
TODO
|
|
TODO
|
|
|
|
|
|
-nouveau projet
|
|
|
|
|
|
+gogs
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### Créer un dépôt sur un serveur git
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### Créer un dépôt local à partir d'un dépôt distant
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### Ajouter un dépôt local à un dépôt distant
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### Récupérer les commits d'un dépôt distant
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### Envoyer les commits sur un dépôt distant
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### Résumé et méthode de travail
|
|
|
|
+
|
|
|
|
+Résumé des commandes git précédentes :
|
|
|
|
+
|
|
|
|
+---|---|
|
|
|
|
+`git ` | |
|
|
|
|
+
|
|
|
|
+Quelques conseils de méthode de travail :
|
|
|
|
+
|
|
|
|
+- TODO
|
|
|
|
|
|
-projet existant
|
|
|
|
|
|
|
|
### Exercice
|
|
### Exercice
|
|
|
|
|
|
|
|
+TODO
|
|
|
|
+
|
|
* * * * *
|
|
* * * * *
|
|
|
|
|
|
## Branches (travailler en équipe)
|
|
## Branches (travailler en équipe)
|
|
|
|
|
|
TODO
|
|
TODO
|
|
|
|
|
|
|
|
+### Afficher les branches
|
|
|
|
+
|
|
|
|
+### Créer une nouvelle branche locale
|
|
|
|
+
|
|
|
|
+### Changer de branche
|
|
|
|
+
|
|
|
|
+### Envoyer une branche sur un dépôt distant
|
|
|
|
+
|
|
|
|
+### Fusionner des branches
|
|
|
|
+
|
|
|
|
+### Terminer une branche locale
|
|
|
|
+
|
|
|
|
+### Terminer une branche distante
|
|
|
|
+
|
|
|
|
+### 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
|
|
### Exercice
|
|
|
|
|
|
|
|
+TODO
|
|
|
|
+
|
|
* * * * *
|
|
* * * * *
|
|
|
|
|
|
## Forks (collaborer avec d'autres projets)
|
|
## 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
|
|
### Exercice
|
|
|
|
|
|
|
|
+TODO
|
|
|
|
+
|
|
* * * * *
|
|
* * * * *
|
|
|
|
|
|
## Références
|
|
## Références
|