Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Gregory Mounie
formation-git
Commits
d8b79fd8
Unverified
Commit
d8b79fd8
authored
Apr 14, 2021
by
Sylvain Bouveret
Browse files
Espacement fautif \texttt dans TP1
parent
7be7a915
Changes
1
Hide whitespace changes
Inline
Side-by-side
FormaContinue_MeteoAvril2021/TPs/tp1-intro-git.tex
View file @
d8b79fd8
...
...
@@ -6,7 +6,7 @@
\date
{
\annee
}
\author
{
Sylvain Bouveret, Grégory Mounié et (majoritairement) Matthieu Moy
}
\title
{
Utilisation de Git
\\
Introduction à l'outil
}
\title
{
Utilisation de Git
--
Introduction à l'outil
}
\sloppy
...
...
@@ -91,9 +91,9 @@ travail de \textit{Bob}\\
\section
{
Configuration locale de Git
}
Si vous travaillez sur votre machine personnelle, vérifiez que Git est
installé (la commande
\texttt
{
git
}
, sans argument, doit vous donner un
installé (la commande
\texttt
{
git
}
, sans argument, doit vous donner un
message d'aide). Si ce n'est pas le cas, installez-le (sous Ubuntu,
«
\texttt
{
apt-get install git gitk
}
» ou «
\texttt
{
apt-get install git-core gitk
}
»
«
\texttt
{
apt-get install git gitk
}
» ou «
\texttt
{
apt-get install git-core gitk
}
»
devrait faire l'affaire, ou bien rendez-vous sur
\url
{
http://git-scm.com/
}
).
On commence par configurer l'outil Git. Sur la machine sur laquelle on
...
...
@@ -105,7 +105,7 @@ Ou bien~:
\begin
{
minted
}{
console
}
both@laptops
$
emacs ~/.gitconfig # ou son éditeur préféré à la place d'Emacs !
\end{minted}
Le contenu du fichier
\texttt
{
.gitconfig
}
(à créer s'il n'existe pas)
Le contenu du fichier
\texttt
{
.gitconfig
}
(à créer s'il n'existe pas)
doit ressembler à ceci~:
\begin{minted}
{
ini
}
...
...
@@ -151,19 +151,19 @@ conseillé d'utiliser ici votre vrai nom (pas juste votre login) et votre
adresse e-mail officielle, et d'utiliser la même configuration
sur toutes les machines sur lesquelles vous travaillez.
La ligne
\texttt
{
editor
}
de la section
\texttt
{
[core]
}
définit votre éditeur
de texte préféré (par exemple,
\texttt
{
emacs
}
,
\texttt
{
vim
}
,
\texttt
{
gvim
La ligne
\texttt
{
editor
}
de la section
\texttt
{
[core]
}
définit votre éditeur
de texte préféré (par exemple,
\texttt
{
emacs
}
,
\texttt
{
vim
}
,
\texttt
{
gvim
-f
}
,
\dots
{}
mais évitez
\texttt
{
gedit
}
qui vous posera problème
ici)
\footnote
{
Si un
\texttt
{
gedit
}
est déjà lancé, la commande
\texttt
{
git
commit
}
va se connecter au
\texttt
{
gedit
}
déjà lancé pour lui
demander d'ouvrir le fichier, et le processus lancé par
\texttt
{
git
}
va
ici)
\footnote
{
Si un
\texttt
{
gedit
}
est déjà lancé, la commande
\texttt
{
git
commit
}
va se connecter au
\texttt
{
gedit
}
déjà lancé pour lui
demander d'ouvrir le fichier, et le processus lancé par
\texttt
{
git
}
va
terminer immédiatement. Git va croire que le message de commit est
vide, et abandonner le commit. Il semblerait que
\texttt
{
gedit -s -w
}
vide, et abandonner le commit. Il semblerait que
\texttt
{
gedit -s -w
}
règle le problème, mais cette commande est
disponible seulement avec les versions
$
\geq
$
3.1.2 de
\texttt
{
gedit
}
,
disponible seulement avec les versions
$
\geq
$
3.1.2 de
\texttt
{
gedit
}
,
donc pas sur CentOS 6, mais peut-être sur vos portables.
}
. Cette
dernière ligne n'est pas obligatoire ; si elle n'est pas présente, la
variable d'environnement
\texttt
{
VISUAL
}
sera utilisée ; si cette
variable d'environnement
\texttt
{
VISUAL
}
sera utilisée ; si cette
dernière n'existe pas, ce sera la variable d'environnement
\texttt
{
EDITOR
}
.
...
...
@@ -457,7 +457,7 @@ des modifications au même endroit du même fichier dans les commits
qu'ils ont faits chacun de leur côté
(
en ajoutant leurs noms sur la
même ligne
)
, et Git ne sait pas quelle version choisir pendant la
fusion~: c'est un conflit, et nous allons devoir le résoudre
manuellement. Allez voir
\texttt
{
hello.c
}
.
manuellement. Allez voir
\texttt
{
hello.c
}
.
La bonne nouvelle, c'est que les modifications faites par
\textit
{
Alice
}
et Bob
sur des endroits différents du fichier ont été fusionnées. Quand une
...
...
@@ -482,7 +482,7 @@ venons de récupérer par « pull » (nous avions dit qu'il était identifié
par la chaîne
2483
c
22
, en fait, l'identifiant complet est plus long,
nous le voyons ici
)
.
Il faut alors « choisir » dans
\texttt
{
hello.c
}
la version qui convient
Il faut alors « choisir » dans
\texttt
{
hello.c
}
la version qui convient
(
ou même la modifier
)
. Ici, on va fusionner à la main
(
\textit
{
i.e.
}
avec un
éditeur de texte
)
et remplacer l'ensemble par ceci~:
...
...
@@ -556,7 +556,7 @@ alice@laptop1$ git commit
(Dans ce cas, il est conseillé, même pour un débutant, de ne pas
utiliser l'option
\verb
|
-a
|
, mais c'est un détail)
Un éditeur s'ouvre, et propose un message de commit du type «
\texttt
{
Merge
Un éditeur s'ouvre, et propose un message de commit du type «
\texttt
{
Merge
branch 'master' of ...
}
», on peut le laisser tel quel, sauver et
quitter l'éditeur.
...
...
@@ -664,7 +664,7 @@ Le fichier \texttt{toto.c} est maintenant présent chez {\em Bob}.
\subsection
{
Fichiers ignorés par Git
}
{
\em
Bob
}
crée à présent un nouveau fichier
\texttt
{
temp
-
file.txt
}
, puis
{
\em
Bob
}
crée à présent un nouveau fichier
\texttt
{
temp
-
file.txt
}
, puis
fait un
\mintinline
{
console
}{
git status
}
. On voit maintenant apparaître~:
\begin
{
minted
}{
console
}
bob@laptop
2
$
git status
...
...
@@ -718,14 +718,14 @@ Quelques remarques~:
status » ne montre jamais de « Untracked files »~: soit un fichier
doit être ajouté dans le dépôt, soit il doit être explicitement
ignoré. Cela évite d'oublier de faire un « git add ».
\item
En général, on met dans les
\texttt
{
.gitignore
}
les fichiers
\item
En général, on met dans les
\texttt
{
.gitignore
}
les fichiers
générés
(*
.o, fichiers exécutables, ...
)
, ce qui est en partie fait
pour vous dans le
\texttt
{
.gitignore
}
du répertoire
\texttt
{
sandbox
/
}
(
qu'il faudra adapter pour faire le
\texttt
{
.gitignore
}
de votre projet
)
. Les « wildcards » usuels
(
\texttt
{
*
.o
}
,
\texttt
{
*
.ad?
}
, ...
)
sont acceptés pour ignorer
plusieurs fichiers.
\item
Le fichier
\texttt
{
.gitignore
}
vient d'être ajouté
(
ou bien il est
\item
Le fichier
\texttt
{
.gitignore
}
vient d'être ajouté
(
ou bien il est
modifié si il était déjà présent
)
. Il faut à nouveau faire un commit
et un push pour que cette modification soit disponible pour tout le
monde.
...
...
@@ -756,17 +756,17 @@ Au niveau débutant, voici ce qu'on peut retenir~:
\item
Ne
\emph
{
jamais
}
s'échanger des fichiers sans passer par Git
(
email, scp, clé USB
)
, sauf si vous savez
\emph
{
vraiment
}
ce que
vous faites.
% \item Toujours utiliser \texttt{
git commit} avec l'option \texttt{
-a}.
\item
Faire souvent
\texttt
{
git status
}
, pour observer l'état du dépôt local.
\item
Faire un
\texttt
{
git push
}
souvent, sauf si on veut garder ses
modifications privées. Il peut être nécessaire de faire un
\texttt
{
git
pull
}
avant un
\texttt
{
git push
}
si des nouvelles révisions sont
% \item Toujours utiliser \texttt{git commit} avec l'option \texttt{-a}.
\item
Faire souvent
\texttt
{
git status
}
, pour observer l'état du dépôt local.
\item
Faire un
\texttt
{
git push
}
souvent, sauf si on veut garder ses
modifications privées. Il peut être nécessaire de faire un
\texttt
{
git
pull
}
avant un
\texttt
{
git push
}
si des nouvelles révisions sont
disponibles dans le dépôt partagé.
\item
Faire des
\texttt
{
git pull
}
régulièrement pour rester synchronisés
avec vos collègues. Il faut faire un
\texttt
{
git commit
-
a
}
avant de
pouvoir faire un
\texttt
{
git pull
}
(
ce qui permet de ne pas mélanger
\item
Faire des
\texttt
{
git pull
}
régulièrement pour rester synchronisés
avec vos collègues. Il faut faire un
\texttt
{
git commit
-
a
}
avant de
pouvoir faire un
\texttt
{
git pull
}
(
ce qui permet de ne pas mélanger
modifications manuelles et fusions automatiques
)
.
\item
Ne faites jamais un «
\texttt
{
git add
}
» sur un fichier binaire
\item
Ne faites jamais un «
\texttt
{
git add
}
» sur un fichier binaire
généré~: si vous les faites, attendez
-
vous à des conflits à chaque
modification des sources
!
Git est fait pour gérer des fichiers
sources, pas des binaires.
...
...
@@ -774,8 +774,8 @@ Au niveau débutant, voici ce qu'on peut retenir~:
(
quand vous ne serez plus débutants
\footnote
{
cf. par exemple
\url
{
http:
//
ensiwiki.ensimag.fr
/
index.php
/
Maintenir
_
un
_
historique
_
propre
_
avec
_
Git
}}
,
vous verrez que la vie n'est pas
si simple, et que la puissance de Git vient de
\texttt
{
git commit
}
sans
\texttt
{
-
a
}
, des
\texttt
{
git commit
}
sans
\texttt
{
git push
}
, ... mais chaque
si simple, et que la puissance de Git vient de
\texttt
{
git commit
}
sans
\texttt
{
-
a
}
, des
\texttt
{
git commit
}
sans
\texttt
{
git push
}
, ... mais chaque
chose en son temps
!)
\subsection
*
{
Quand rien ne va plus ...
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment