Vous avez reçu un message "Your GitLab account has been locked ..." ? Pas d'inquiétude : lisez cet article https://docs.gricad-pages.univ-grenoble-alpes.fr/help/unlock/

Unverified Commit 2c491770 authored by Sylvain Bouveret's avatar Sylvain Bouveret
Browse files

Compatibilité commandes fontes TP2

parent d8b79fd8
\documentclass[a4paper,10pt]{article}
\documentclass[a4paper]{scrartcl}
\usepackage{header}
......@@ -6,7 +6,7 @@
\date{\annee}
\author{Sylvain Bouveret, Grégory Mounié}
\title{Git\\Gestion des branches et des sources}
\title{Git -- Gestion des branches et des sources}
\sloppy
......@@ -22,7 +22,7 @@ Ce document peut être téléchargé depuis l'adresse suivante :
\begin{figure}[hbtp]
\centering
\includegraphics[width=10cm]{../Slides/vincent_driessen_model.png}
\includegraphics[width=10cm]{../Slides/images/vincent_driessen_model.png}
\caption{Le modèle de branches de git-flow de Vincent Driessen \url{http://nvie.com/posts/a-successful-git-branching-model/}}
\label{fig:gitflow}
\end{figure}
......@@ -49,7 +49,7 @@ La première étape, sur votre PC, est de construire d'abord un dépôt
minimaliste. Ce dépôt sera copié, plus tard, sur
\lstinline{depots.ensimag.fr}.
{\it Alice} crée sur sa machine le dépôt local initial.
\textit{Alice} crée sur sa machine le dépôt local initial.
\begin{alice}
mkdir alice-et-bob
cd alice-et-bob
......@@ -74,7 +74,7 @@ faudra peut-être aussi gérer quelques conflits.
\subsection{Créer deux dépôts vides sur {\em depots.ensimag.fr}}
{\it Bob} va, lui, créer deux dépôts vides sur la machine {\em
\textit{Bob} va, lui, créer deux dépôts vides sur la machine {\em
depots.ensimag.fr}. Il faut dans un premier temps ouvrir un shell
sur cette machine avec ssh~:
......@@ -89,7 +89,7 @@ votre mot de passe (vous devriez avoir une case « Serveur
On commence par créer deux répertoires, et on donne les droits aux
autres coéquipiers via les ACLs (Access Control Lists), en utilisant
le script {\tt autoriser-equipe} spécifique à l'Ensimag~:
le script \texttt{autoriser-equipe} spécifique à l'Ensimag~:
\begin{bob}
cd /depots/ø\anneeø/
......@@ -102,12 +102,12 @@ autoriser-equipe alice-et-bob-dev/ alice
\end{bob}
Il faut ici préciser les logins de tous les coéquipiers, donc si l'équipe est
constituée des utilisateurs unix {\tt alice}, {\tt bob}, {\tt charlie}
et {\tt dave}, on entrera la commande
constituée des utilisateurs unix \texttt{alice}, \texttt{bob}, \texttt{charlie}
et \texttt{dave}, on entrera la commande
\begin{bob}
autoriser-equipe alice-et-bob/ bob charlie dave
\end{bob}
Les noms d'utilisateurs (login) sont ceux sur {\tt depots.ensimag.fr},
Les noms d'utilisateurs (login) sont ceux sur \texttt{depots.ensimag.fr},
même si les utilisateurs travaillent avec un autre nom sur leur
machine personnelle.
......@@ -125,7 +125,7 @@ git init --shared --bare projetc.git
\subsection{Ajouter deux sources distantes (remote) et y
pousser le code de départ}
{\it Alice} ajoute deux sources distantes (remote) à son dépôt et
\textit{Alice} ajoute deux sources distantes (remote) à son dépôt et
pousse sa version initiale dans les deux dépôts.
\begin{alice}
......@@ -137,7 +137,7 @@ git push origin master
git push dev master
\end{alice}
Maintenant, {\it Bob} peut cloner un des deux dépôts et ajouter
Maintenant, \textit{Bob} peut cloner un des deux dépôts et ajouter
l'autre source, lui aussi.
\begin{alice}
......@@ -150,9 +150,9 @@ git remote -v
\subsection{Ajouter des tags sur la version «master»}
{\it Alice} ajoute le tag \texttt{v0.0} à la version initiale de la
\textit{Alice} ajoute le tag \texttt{v0.0} à la version initiale de la
branche «master». Elle devra écrire un message associé au tag
(option -a {\tt --annotate}). Cela permet d'associer au tag une date
(option -a \texttt{--annotate}). Cela permet d'associer au tag une date
de création, l'identité du créateur, et éventuellement sa signature
GnuPG.
......@@ -160,7 +160,7 @@ GnuPG.
git tag -a v0.0
\end{alice}
Mais ce tag n'existe encore que localement. {\it Alice} pousse le tag
Mais ce tag n'existe encore que localement. \textit{Alice} pousse le tag
dans les deux dépôts. Elle peut le faire en poussant uniquement le
tag, ou en poussant tous les tags.
\begin{alice}
......@@ -168,15 +168,15 @@ git push origin v0.0
git push --tags dev
\end{alice}
{\it Bob} récupère alors le tag de manière implicite lorsqu'il fait un
\textit{Bob} récupère alors le tag de manière implicite lorsqu'il fait un
git pull. Cela ne fonctionne de manière implicite que pour les tags
concernant des objets présents ou tirés dans le dépôt de {\it Bob}.
concernant des objets présents ou tirés dans le dépôt de \textit{Bob}.
\begin{bob}
git pull
\end{bob}
{\it Bob} crée un second commit en modifiant \texttt{fichier.txt} et
\textit{Bob} crée un second commit en modifiant \texttt{fichier.txt} et
ajoute le tag annoté \texttt{v1.0}. Il pousse sa modification et le
tag dans les deux dépôts.
......@@ -191,9 +191,9 @@ git push
git push dev
\end{bob}
Le dépôt public «origin» de {\it Bob} est son dépôt par défaut.
Le dépôt public «origin» de \textit{Bob} est son dépôt par défaut.
{\it Alice} peut maintenant le récupérer. Pour ce faire, elle va
\textit{Alice} peut maintenant le récupérer. Pour ce faire, elle va
indiquer «origin» comme dépôt par défaut de sa branche «master».
\begin{alice}
git branch --set-upstream-to=origin/master master
......@@ -245,7 +245,7 @@ l'évolution de la branche de même nom sur «dev».
\subsection{Faire une branche de fonctionnalité et la fusionner}
{\it Bob} veut implanter une nouvelle fonctionnalité. Il vérifie qu'il
\textit{Bob} veut implanter une nouvelle fonctionnalité. Il vérifie qu'il
est bien sur la branche «develop». Il ajoute une branche
(«topic1»), code la fonctionnalité et la publie dans
«dev».
......@@ -262,7 +262,7 @@ git commit
git push --set-upstream dev topic1
\end{bob}
{\it Alice} veut implanter elle-aussi implanter une nouvelle
\textit{Alice} veut implanter elle-aussi implanter une nouvelle
fonctionnalité. Elle le fait dans la branche «topic2» qui part de
«develop». Elle enregistre elle-aussi son commit et le publie dans
«dev».
......@@ -279,7 +279,7 @@ git commit
git push --set-upstream dev topic2
\end{alice}
Après l'avoir testé rigoureusement {\it Bob} veut fusionner «topic1»
Après l'avoir testé rigoureusement \textit{Bob} veut fusionner «topic1»
dans «develop».
\begin{bob}
......@@ -293,8 +293,8 @@ Regardez attentivement le graphe de commit. Git n'a pas créé de
commit pour ce merge. Il a juste déplacé la tête. Le terme Git
désignant ce type de merge sans commit est «fast-forwarding».
{\it Alice} a une idée pour améliorer cette contribution. Elle
récupère le travail de {\it Bob} (en utilisant juste le fetch), ajoute
\textit{Alice} a une idée pour améliorer cette contribution. Elle
récupère le travail de \textit{Bob} (en utilisant juste le fetch), ajoute
un commit dans la branche «topic1» mais elle veut garder une trace de
la fusion. Elle utilise l'option \texttt{--no-ff} lors du merge. Elle
devra aussi mettre à jour sa branche «develop» avant.
......@@ -316,13 +316,13 @@ Cette fois-ci, Git a demandé un message de
merge et a créé un commit supplémentaire.
La forme finale du graphe de commits dépend de l'usage, ou non,
de l'option \texttt{--no-ff}. Dans le reste du sujet, {\it Alice} et
{\it Bob} utiliserons cette option pour tracer les dates, et les
de l'option \texttt{--no-ff}. Dans le reste du sujet, \textit{Alice} et
\textit{Bob} utiliserons cette option pour tracer les dates, et les
responsables des «merge», dans les branches «master» et «develop».
\subsection{Repositionner topic2 avec rebase}
{\it Bob} reprend le travail {\it Alice} sur le «topic2». Il rebase la
\textit{Bob} reprend le travail \textit{Alice} sur le «topic2». Il rebase la
branche sur la nouvelle version de «develop». Il aura peut-être à
gérer des conflits. Il faudra aussi faire un pull (pour le
merge) après le rebase avant de pouvoir faire le push.
......@@ -338,7 +338,7 @@ gitk --all
\subsection{La cachette}
{\it Alice} récupère les modifications de «topic2» et continue les
\textit{Alice} récupère les modifications de «topic2» et continue les
modifications de \texttt{fichier.txt}. Elle note alors un horrible bug
et ce bug existe aussi dans la version «master».
......@@ -362,7 +362,7 @@ git stash list
\subsection{Faire une correction de bug}
Pour faire faire la correction {\it Alice} reprend le travail depuis
Pour faire faire la correction \textit{Alice} reprend le travail depuis
la version v1.0 de «master». Elle crée alors une nouvelle branche,
«hotfix1», pour y écrire la correction.
......@@ -399,7 +399,7 @@ gitk --all
\subsection{Sortir de la cachette}
{\it Alice} retourne dans la branche «topic2». Elle repositionne la
\textit{Alice} retourne dans la branche «topic2». Elle repositionne la
branche par rapport à «develop» et réinsère les changements sur
lesquels elle travaillait. Elle aura peut-être quelques conflits à
résoudre. Il faudra aussi fusionner la version distante et locale de
......@@ -413,7 +413,7 @@ git stash list
git stash pop
\end{alice}
Ensuite {\it Alice} finit ses modifications, enregistre un commit et
Ensuite \textit{Alice} finit ses modifications, enregistre un commit et
fusionne la branche dans «develop» en prenant soin de bien créer un
nouveau commit.
......@@ -427,16 +427,16 @@ git push
gitk --all
\end{alice}
{\it Alice} remarque que la branche distante de «topic2» est en retard.
\textit{Alice} remarque que la branche distante de «topic2» est en retard.
Pour pousser l'ensemble des distantes branches en retard
(comme «topic2») {\it Alice} effectue
(comme «topic2») \textit{Alice} effectue
\begin{alice}
git push --all
\end{alice}
\subsection{Nouvelle version majeure}
{\it Bob} va publier la nouvelle version. Il récupère les
\textit{Bob} va publier la nouvelle version. Il récupère les
modifications et crée une nouvelle branche \texttt{release2} partant
de \texttt{develop}. Dans cette branche il réalise un nouveau commit
corrigeant quelques problèmes. Il fusionne ensuite cette branche dans
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment