« Git/Premiers pas » : différence entre les versions

Contenu supprimé Contenu ajouté
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 9 :
On reprend l'exemple précédent.
 
<sourcesyntaxhighlight lang="bash">
git clone https://gerrit.wikimedia.org/r/p/test/mediawiki/extensions/examples.git
cd examples
</syntaxhighlight>
</source>
 
Faisons d'abord un
 
<sourcesyntaxhighlight lang="bash">
git branch
</syntaxhighlight>
</source>
 
qui va nous répondre
Ligne 30 :
Cela nous est confirmé par
 
<sourcesyntaxhighlight lang="bash">
git status
</syntaxhighlight>
</source>
 
qui nous répond
Ligne 43 :
Vous pouvez faire un
 
<sourcesyntaxhighlight lang="bash">
git log
</syntaxhighlight>
</source>
 
Pour voir quel est l'auteur et la date de la dernière modification : cela nous servira de repère pour la suite.
Ligne 55 :
Par exemple, créons un fichier <code>mon_nouveau_fichier.txt</code> avec un petit texte dedans.
 
<sourcesyntaxhighlight lang="bash">
echo "Ceci est un test de git" > mon_nouveau_fichier.txt
</syntaxhighlight>
</source>
 
Voyons la façon dont git perçoit ce nouveau fichier
 
<sourcesyntaxhighlight lang="bash">
git status
</syntaxhighlight>
</source>
 
<pre>
Ligne 78 :
Comme nous voulons intégrer ce fichier au projet, on ne peut pas encore faire le <code>commit</code> ,car <code>commit</code> n'envoie que les fichiers qui sont *tracked*, c'est à dire dans l'index (*staging*). Ajoutons le fichier, comme git nous le suggère, avec <code>add</code>
 
<sourcesyntaxhighlight lang="bash">
git add mon_nouveau_fichier.txt
</syntaxhighlight>
</source>
 
On refait un
 
<sourcesyntaxhighlight lang="bash">
git status
</syntaxhighlight>
</source>
 
Et, cette fois, git nous répond
Ligne 101 :
Le fichier <code>mon_nouveau_fichier.txt</code> sera bien intégré dans notre prochain <code>commit</code>. Allons-y :
 
<sourcesyntaxhighlight lang="bash">
git commit -m "mon premier commit"
</syntaxhighlight>
</source>
 
Remarquons ici qu'avec <code>-m</code>, nous avons choisi de préciser le message de commit directement sur la ligne de commande. En lançant <code>git commit</code> tout court, l'éditeur de texte (<code>$EDITOR</code>) s'ouvre automatiquement pour inviter à saisir un commentaire de soumission.
Ligne 115 :
Constatons immédiatement l'effet de ce commit :
 
<sourcesyntaxhighlight lang="bash">
git log
</syntaxhighlight>
</source>
 
Notre dernier commit apparaît, en premier de la liste (c'est le plus récent).
Ligne 132 :
Avec
 
<sourcesyntaxhighlight lang="bash">
git log --graph
</syntaxhighlight>
</source>
 
On voit clairement que notre commit est lié au commit précédent.
Ligne 142 :
Faisons une autre modification. Par exemple, modifions le fichier <code>mon_nouveau_fichier.txt</code> en ajoutant une ligne.
 
<sourcesyntaxhighlight lang="bash">
echo "Une seconde ligne pour un second test de git" >> mon_nouveau_fichier.txt
</syntaxhighlight>
</source>
 
Voyons ce que git nous dit :
 
<sourcesyntaxhighlight lang="bash">
git status
</syntaxhighlight>
</source>
 
<pre>
Ligne 168 :
Git nous indique bien que le fichier a été modifié, voyons le résumé de ces modifications telles qu'elles sont perçues par git :
 
<sourcesyntaxhighlight lang="bash">
git diff
</syntaxhighlight>
</source>
 
<pre>
Ligne 186 :
On va maintenant faire le commit. Comme précédemment, il faut ajouter le fichier au *staging* :
 
<sourcesyntaxhighlight lang="bash">
git add mon_nouveau_fichier.txt
</syntaxhighlight>
</source>
 
{{remarque|
Si vous voulez ajouter au staging tous les changements qui ont été effectués (fichiers ajoutés, modifiés, supprimés), il vous suffit de faire<ref>http://git-scm.com/docs/git-add</ref>
 
<sourcesyntaxhighlight lang="bash">
git add --all
</syntaxhighlight>
</source>
ou
<sourcesyntaxhighlight lang="bash">
git add -A
</syntaxhighlight>
</source>
}}
 
<sourcesyntaxhighlight lang="bash">
git status
</syntaxhighlight>
</source>
 
<pre>
Ligne 219 :
 
 
<sourcesyntaxhighlight lang="bash">
git commit -m "ma première modification"
</syntaxhighlight>
</source>
 
<pre>
Ligne 230 :
Remarquez le code « 5556307 » : il s'agit d'une abréviation de l'identifiant unique de l'objet Git (en l'occurrence une soumission). Chaque objet est haché en {{w|SHA-1}}. L'identifiant complet est en fait <code>5556307824d8d0425b38c9da696b84430e30f09f</code>, mais généralement les huit premiers caractères suffisent à l'identifier à coup sûr.
 
<sourcesyntaxhighlight lang="bash">
git log --graph
</syntaxhighlight>
</source>
 
<pre>
Ligne 253 :
== Supprimer un fichier ==
 
<sourcesyntaxhighlight lang="bash">
git rm mon_nouveau_fichier.txt
git status
</syntaxhighlight>
</source>
 
<pre>
Ligne 272 :
Il n'est pas nécessaire de faire un add.
 
<sourcesyntaxhighlight lang="bash">
git commit -m "ma première suppression de fichier"
</syntaxhighlight>
</source>
 
<pre>
Ligne 290 :
== Recherche dans l'historique ==
Pour rechercher un mot dans tous les historiques de tous les fichiers (du répertoire et des sous-répertoires du script) :
<sourcesyntaxhighlight lang=bash>
git rev-list --all | (
while read revision; do
Ligne 296 :
done
)
</syntaxhighlight>
</source>
 
Par ailleurs, <code>git bisect</code> permet de rechercher dans l'historique des révisions en définissant les mauvais et bon commits<ref>https://git-scm.com/docs/git-bisect</ref>.