Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
G
git-jso
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
DOSCH Philippe
git-jso
Commits
e8ff9f88
Commit
e8ff9f88
authored
7 years ago
by
Philippe Dosch
Browse files
Options
Downloads
Patches
Plain Diff
Pas mal de choses diverses
parent
8dd9374d
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
gitrefcard.tex
+137
-8
137 additions, 8 deletions
gitrefcard.tex
with
137 additions
and
8 deletions
gitrefcard.tex
+
137
−
8
View file @
e8ff9f88
...
...
@@ -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=
n
localrep,minimum width=3cm
}}
\tikzset
{
sin/.style=
{
draw,rectangle,rounded
corners=3pt,fill=index,minimum width=3cm
}}
corners=3pt,fill=
n
index,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=
n
workdir,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
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment