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
fb678073
Commit
fb678073
authored
4 months ago
by
Philippe Dosch
Browse files
Options
Downloads
Patches
Plain Diff
Restructuration de la partie collaborative
parent
a7815711
No related branches found
No related tags found
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
collabowork.tex
+95
-25
95 additions, 25 deletions
collabowork.tex
gitmain.tex
+1
-0
1 addition, 0 deletions
gitmain.tex
maincommands.tex
+6
-74
6 additions, 74 deletions
maincommands.tex
ssh.tex
+3
-3
3 additions, 3 deletions
ssh.tex
with
105 additions
and
102 deletions
collabowork.tex
+
95
−
25
View file @
fb678073
%======================================================================
\subsection
{
Introduction
}
\subsection
{
Introduction
, commandes additionnelles
}
%======================================================================
...
...
@@ -19,14 +19,14 @@
Une possibilité : utiliser une forge (Github, gitlab,
Bitbucket...)
\item
Deux commandes pour le raccordement
\\
(à réaliser par le contributeur principal)
Pour le primo-contributeur, deux commandes à utiliser pour le
raccordement
\begin{itemize}
\item
syntaxe de
raccordeme
nt
\\
syntaxe de
déclaration de dépôt dista
nt
\\
\ex
{
git remote add
\emph
{
nom
}
\emph
{
URL
}}
\item
exemple de
raccordeme
nt
\\
exemple de
déclaration de dépôt dista
nt
\\
\ex
{
git remote add origin git@github.com:dosch/test.git
}
\item
première synchronisation
\\
...
...
@@ -47,17 +47,34 @@
%======================================================================
\frame
{
\frametitle
{
Principes du
\emph
{
workflow
}}
\frame
{
\frametitle
{
Principes du
\emph
{
workflow
}
de collaboration
}
\begin{itemize}
\item
pull = fetch + merge pour info (pour aller plus loin ?)
Repose sur 2 commandes principale
\begin{itemize}
\item
\ex
{
git push
}
: envoi de ses commits au dépôt distant
\item
\ex
{
git pull
}
: récupération des commits des autres
collaborateurs
\\
En interne, utilise 2 commandes
\ex
{
git
}
\begin{itemize}
\item
\ex
{
git fetch
}
: pour la récupération brute des commits
\item
\ex
{
git merge
}
: pour la fusion des contributions
\end{itemize}
Ces aspects seront développés dans un futur cours sur les
branches
\end{itemize}
\item
Récupération des autres contributions avant d'apporter les siennes
Attention : il faut d'abord récupérer les contributions des autres
membres avant d'apporter les siennes
\begin{itemize}
\item
on
choi
si
t
le
moment (c'est manuel)
on
tombe sur une erreur
si le
\emph
{
workflow
}
n'est pas respecté
\item
m
essage d'erreur si le
\emph
{
workflow
}
n'est pas respecté
m
ais on reste maître du moment des synchronisations
\end{itemize}
\end{itemize}
}
...
...
@@ -84,6 +101,74 @@
%======================================================================
\frame
{
\frametitle
{
\ex
{
git pull
}}
\framesubtitle
{
\gitsync
}
\begin{itemize}
\item
Récupère les changements du dépôt distant et les fusionne dans le
dépôt local et le répertoire de travail
\item
Peut d'ailleurs être utilisé pour récupérer des changements de
n'importe quel dépôt distant...
\item
À utiliser avant de propager les changements du dépôt local vers
le dépôt distant (
\ex
{
git push
}
) s'il y eu des changements sur le
dépôt distant
\item
L'option
\ex
{
-
{}
-rebase
}
permet d'effectuer une fusion sans
provoquer l'ajout d'un nouveau commit formalisant cette fusion
\end{itemize}
}
%======================================================================
% À propos de 'git pull' : par défaut, cette commande effectue un fetch,
% suivi d'un merge. L'effet de bord le plus notable est que le pull
% conduit à un nouveau commit si le dépôt local contient des
% modifications non poussées (et non poussables si le pull est
% nécessaire).
% Une manière d'éviter ce nouveau commit est de passer par un
% 'git pull --rebase' à la place du simple 'git pull'. Dans ce cas, un
% fetch sera aussi effectué, et un rebase « intelligent » par la
% suite. À noter, comme rebase effectue une modification de l'historique
% (ce qui n'est jamais bon dès qu'on dépasse le stade local), ce genre
% de manipulations ne doit pas être effectué dans certaines
% configurations. Il semble que les architectures à base d'un unique
% dépôt central ne soit pas concernée, mais ce n'est pas le cas des
% architectures où plusieurs dépôt distants sont utilisés. Dans ce cas,
% cette variante à base de 'rebase' est à proscrire.
% Des détails en particulier sur :
% http://stackoverflow.com/questions/6284887/whats-the-difference-between-git-fetch-then-git-rebase-and-git-pull-reb/11531502#11531502
%======================================================================
\frame
{
\frametitle
{
\ex
{
git push
}}
\framesubtitle
{
\gitsync
}
\begin{itemize}
\item
Propage les changements du dépôt local vers le distant
\item
Précision : plusieurs stratégies de mises à jour existent (voir le
transparent sur la configuration utilisateur), dont
\begin{itemize}
\item
\ex
{
simple
}
: seule la branche courante est concernée
\\
(par défaut, conseillé en général)
\item
\ex
{
matching
}
: toutes les branches locales sont concernées
% si elles existent sur le serveur
\end{itemize}
\end{itemize}
\begin{codebox}
\mygit
{
git push
}{
gitpush.txt
}
\end{codebox}
}
%======================================================================
\subsection
{
Exemples de travail collaboratif
}
%======================================================================
...
...
@@ -193,18 +278,3 @@
\mygitprompt
{
bob
}{
git push
}{
gitpushconf.txt
}
}
%======================================================================
\subsection
{
Configuration
}
%======================================================================
\frame
{
\frametitle
{
SSH ?
}
\framesubtitle
{
Du côté de chez Bob...
}
\mygitpromptplus
{
bob
}{
git add README
}
\\
\mygitprompt
{
bob
}{
git commit -m "Conflict fixed"
}{
gitconffix.txt
}
\mygitprompt
{
bob
}{
git push
}{
gitpushconf.txt
}
}
%======================================================================
This diff is collapsed.
Click to expand it.
gitmain.tex
+
1
−
0
View file @
fb678073
...
...
@@ -64,6 +64,7 @@
\include
{
config
}
\section
{
Travail collaboratif avec Git
}
\include
{
collabowork
}
\include
{
ssh
}
\include
{
moregit
}
% 2 points importants d'évolutions : introduire les hunks et git
...
...
This diff is collapsed.
Click to expand it.
maincommands.tex
+
6
−
74
View file @
fb678073
...
...
@@ -522,74 +522,6 @@
%======================================================================
\frame
{
\frametitle
{
\ex
{
git pull
}}
\framesubtitle
{
\gitsync
}
\begin{itemize}
\item
Récupère les changements du dépôt distant et les fusionne dans le
dépôt local et le répertoire de travail
\item
Peut d'ailleurs être utilisé pour récupérer des changements de
n'importe quel dépôt distant...
\item
À utiliser avant de propager les changements du dépôt local vers
le dépôt distant (
\ex
{
git push
}
) s'il y eu des changements sur le
dépôt distant
\item
L'option
\ex
{
-
{}
-rebase
}
permet d'effectuer une fusion sans
provoquer l'ajout d'un nouveau commit formalisant cette fusion
\end{itemize}
}
%======================================================================
% À propos de 'git pull' : par défaut, cette commande effectue un fetch,
% suivi d'un merge. L'effet de bord le plus notable est que le pull
% conduit à un nouveau commit si le dépôt local contient des
% modifications non poussées (et non poussables si le pull est
% nécessaire).
% Une manière d'éviter ce nouveau commit est de passer par un
% 'git pull --rebase' à la place du simple 'git pull'. Dans ce cas, un
% fetch sera aussi effectué, et un rebase « intelligent » par la
% suite. À noter, comme rebase effectue une modification de l'historique
% (ce qui n'est jamais bon dès qu'on dépasse le stade local), ce genre
% de manipulations ne doit pas être effectué dans certaines
% configurations. Il semble que les architectures à base d'un unique
% dépôt central ne soit pas concernée, mais ce n'est pas le cas des
% architectures où plusieurs dépôt distants sont utilisés. Dans ce cas,
% cette variante à base de 'rebase' est à proscrire.
% Des détails en particulier sur :
% http://stackoverflow.com/questions/6284887/whats-the-difference-between-git-fetch-then-git-rebase-and-git-pull-reb/11531502#11531502
%======================================================================
\frame
{
\frametitle
{
\ex
{
git push
}}
\framesubtitle
{
\gitsync
}
\begin{itemize}
\item
Propage les changements du dépôt local vers le distant
\item
Précision : plusieurs stratégies de mises à jour existent (voir le
transparent sur la configuration utilisateur), dont
\begin{itemize}
\item
\ex
{
simple
}
: seule la branche courante est concernée
\\
(par défaut, conseillé en général)
\item
\ex
{
matching
}
: toutes les branches locales sont concernées
% si elles existent sur le serveur
\end{itemize}
\end{itemize}
\begin{codebox}
\mygit
{
git push
}{
gitpush.txt
}
\end{codebox}
}
%======================================================================
\frame
{
\frametitle
{
Récapitulatif des commandes fréquentes
}
\begin{itemize}
\item
...
...
@@ -628,12 +560,12 @@
\ex
{
git mv
}
: déplace des fichiers
\item
\ex
{
git rm
}
: supprime des fichiers
\item
\ex
{
git pull
}
: répercute les changements du dépôt distant vers le
dépôt local
\item
\ex
{
git push
}
: répercute les changements du dépôt local vers le
dépôt distant
%
\item
%
\ex{git pull} : répercute les changements du dépôt distant vers le
%
dépôt local
%
\item
%
\ex{git push} : répercute les changements du dépôt local vers le
%
dépôt distant
\end{itemize}
}
This diff is collapsed.
Click to expand it.
ssh.tex
+
3
−
3
View file @
fb678073
%======================================================================
%
%======================================================================
\section
{
Aspects techniques
}
%
\section{Aspects techniques}
%======================================================================
%
%======================================================================
\subsection
{
Authentification SSH
}
...
...
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