Skip to content
Snippets Groups Projects
Commit e8ff9f88 authored by Philippe Dosch's avatar Philippe Dosch
Browse files

Pas mal de choses diverses

parent 8dd9374d
No related branches found
No related tags found
No related merge requests found
......@@ -77,19 +77,39 @@
\end{tabular}
}
\small
% REVOIR LE GIT RESET DANS LE SCHÉMA ET DANS LES EXPLICATIONS : ÇA NE SE
% LIMITE BIEN SÛR PAS À L'INDEX ! -> TROUVER QUELQUE CHOSE DE PLUS
% SATISFAISANT !
% Il suffit a priori d'ajouter une flèche supplémentaire partant du
% dépôt vers le WD. Par la même occasion, en ajouter une autre pour le
% checkout
%======================================================================
\subsection{Résumé des commandes}
%======================================================================
\vspace*{-5mm}
\soustitre{Note : dans de nombreux cas, les paramètres (de commandes)
présentés peuvent être ajoutés les uns aux autres pour cumuler les
effets (voir les pages de manuel).}
% On neutralise le retrait première ligne
\setlength{\parindent}{0pt}
\titresec{Création d'un dépôt}
%----------------------------------------------------------------------
\begin{tabular}{p{1.7cm}l}
% \sepcom
\begin{tabular}{p{2.1cm}l}
\ex{git init}\exindex{git init} & Création d'un
dépôt\index{depot@dépôt} vide\\
% \sepcom
\ex{git clone}\exindex{git clone} & Clone d'un
dépôt\index{depot@dépôt} (avec tout son historique + configuration du
dépôt distant)\\
% \sepcom
\end{tabular}
\titresec{Alimentation de l'index}
......@@ -113,24 +133,59 @@ enfants/parents)\\
\includegraphics[width=.65\linewidth]{princindex.eps}
\end{center}
\titresec{Création de commit}
\titresec{Création de commit \soustitre{(tout commit créé vide
entièrement l'index)}}
%----------------------------------------------------------------------
\soustitre{Toute création de commit vide entièrement l'index}\\
\begin{tabular}{p{3.4cm}l}
\ex{git commit}\exindex{git commit} & Crée un commit + lance un
éditeur pour la saisie du message de log\\
\ex{git commit -m <\emph{msg}>}\exindex{git commit} & Crée un commit
avec le message de log \exe{msg}\\
\ex{git commit -a}\exindex{git commit} & Crée un commit incluant
\textbf{toutes} les modifications (ne concerne cependant que les
fichiers suivis)\\
\ex{git commit \mm amend}\exindex{git commit}\exindat{amend}{\mm
amend} & Nouveau commit fusionnant avec le dernier (ex : oubli de
fichier et/ou modification de log)\\
\end{tabular}
\titresec{Examen des différences}
%----------------------------------------------------------------------
\begin{tabular}{p{3.4cm}l}
\ex{git diff}\exindex{git diff} & Différences qui peuvent être ajoutées
à l'index (compléter !)\\
\ex{git diff \mm staged}\exindex{git diff} & Différences ajoutées à
l'index (??)
à l'index\\
\ex{git diff \mm cached}\exindex{git diff} & Différences entre... ??\\
\ex{git diff HEAD}\exindex{git diff} & Différences entre... ??\\
\end{tabular}
%======================================================================
\subsection{Scénarios classiques}
%======================================================================
\titresec{Récupération du dépôt à un commit donné}
\begin{itemize}
\item
\ex{git checkout \emph{commit}}
\item
Gestion de la tête détachée...
\end{itemize}
%======================================================================
\subsection{Commandes utiles}
%======================================================================
\begin{tabular}{p{3.4cm}l}
\ex{git remote -v}\exindex{git remote} & Affiche les infos du dépôt
distant\\
\end{tabular}
%======================================================================
\subsection{Configuration}
\label{sec:conf}
......@@ -146,6 +201,7 @@ avec le message de log \exe{msg}\\
%======================================================================
\subsubsection{\ex{git init}}
\label{sec:gitinit}
\exindex{git init}
%======================================================================
\begin{itemize}
......@@ -160,7 +216,7 @@ avec le message de log \exe{msg}\\
réalisé
\item
Avant la création du premier dépôt, penser à configurer globalement
\ex{git}~\myref{conf}.
\ex{git}~\myref{sec:conf}.
\end{itemize}
\begin{tikzpicture}
......@@ -168,16 +224,89 @@ avec le message de log \exe{msg}\\
% \draw [very thin, gray] (-1,-1) grid[step=0.5](2,2);
% \tikzstyle{localrep}=[draw,rectangle,rounded corners=3pt,localrep]
\tikzset{slr/.style={draw,rectangle,rounded
corners=3pt,fill=localrep,minimum width=3cm}}
corners=3pt,fill=nlocalrep,minimum width=3cm}}
\tikzset{sin/.style={draw,rectangle,rounded
corners=3pt,fill=index,minimum width=3cm}}
corners=3pt,fill=nindex,minimum width=3cm}}
\tikzset{swd/.style={draw,rectangle,rounded
corners=3pt,fill=workdir,minimum width=3cm}}
\node[slr] (L) at (0,0){\begin{tabular}{c}Yop\\\raisebox{3mm}{\rule{2.5cm}{0.4pt}}\\ Argh\\Plouf\end{tabular}};
corners=3pt,fill=nworkdir,minimum width=3cm}}
\node[slr] (L) at (0,0){\sffamily\bfseries\begin{tabular}{c}Yop\\\raisebox{3mm}{\rule{2.5cm}{0.4pt}}\\ Argh\\Plouf\end{tabular}};
\node[sin] (I) at (4,0){Yop};
\node[swd] (W) at (8,0){Zap !};
\end{tikzpicture}
%======================================================================
\subsubsection{\ex{git clone}}
\label{sec:gitclone}
\exindex{git clone}
%======================================================================
\begin{itemize}
\item
Positionnement automatique de la configuration relative au dépôt
distant (pour information, ces informations se retrouvent dans le
fichier \ex{.git/config}
\end{itemize}
%======================================================================
\subsubsection{\ex{git add}}
\label{sec:gitadd}
\exindex{git add}
%======================================================================
%======================================================================
\subsubsection{\ex{git commit}}
\label{sec:gitcommit}
\exindex{git commit}
%======================================================================
\begin{itemize}
\item
Le point sur \ex{git commit \mm amend}\exindat{amend}{\mm amend} :
cette commande supprime le dernier commit (tout en gardant dans le
WD les modifications qui avaient été introduites par ce commit) et
ajoute un nouveau commit.
Cas classiques d'utilisation :
\begin{itemize}
\item
le dernier message de log n'était pas correct : cela permet d'en
écrire un nouveau
\item
le dernier commit ne contenait pas toutes les modifications qu'il
aurait dû contenir : cela permet d'en ajouter
\item
un effet combiné des 2 scénarios présentés ci-dessus.
\end{itemize}
\textbf{Attention} : il est essentiel de comprendre que l'historique
(des commits) du dépôt est donc réécrite à cette occasion.
Incidemment, il \textbf{ne faut surtout pas} utiliser cette commande
si le commit en question a déjà été envoyé sur le dépôt distant
\emph{via} un \ex{git push} typiquement : cela «~casserait~» la
synchronisation avec les autres développeurs.
Si le commit «~à problème~» a déjà été envoyé, il est trop tard pour
l'amender et il \textbf{faut donc trouver une autre parade}.
\end{itemize}
%======================================================================
\subsubsection{\ex{git diff}}
\label{sec:gitdiff}
\exindex{git diff}
%======================================================================
\begin{itemize}
\item
Les nombreuses variantes permettent de visualiser les différences
existant entre toutes les paires de zones de stockages.
\item
Quelques précisions sur certaines des commandes présentes dans le
résumé des commandes
\end{itemize}
%======================================================================
\subsubsection{\ex{git checkout}}
\label{sec:gitcheckout}
\exindex{git checkout}
%======================================================================
\printindex
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment