CINXE.COM
Le terminal et premiers pas avec Git
<!DOCTYPE html> <html> <head lang="en"> <meta charset="utf-8"> <title>Le terminal et premiers pas avec Git</title> <link rel="stylesheet" href="//yandex.st/highlightjs/8.0/styles/default.min.css"> <link rel="stylesheet" href="/in202/css/main.css"> <link href="https://github.com/defeo/in202/commits/gh-pages.atom" rel="alternate" title="Recent Commits to in202" type="application/atom+xml" /> <script src="/in202/js/polyfills.js"></script> </head> <body> <a id="forkme" class="dont-print" href="https://github.com/defeo/in202"> <img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub"></a> <ul class="menu dont-print" id="top-menu"> <li><a href="/in202/">Home</a></li> <li><a href="javascript:window.print()">Print</a></li> <li><a href="https://github.com/defeo/in202/blob/gh-pages/tutorials/tutorial3.md">Source</a></li> <li><a href="/in202/HELP">Help</a></li> <li><a href="https://github.com/defeo/in202/edit/gh-pages/tutorials/tutorial3.md">Quick edit</a></li> </ul> <div class="main"> <div class="container"> <h1>Le terminal et premiers pas avec Git <span class="subtitle"></span></h1> <p>Si vous travaillez avec un cartable numérique, démarrez sous Linux.</p> <p>Si vous travaillez avec votre ordinateur personnel, vous pouvez soit travailler dans la machine virtuelle, soit dans votre système d’exploitation. Dans un cas comme dans l’autre, nous allons installer des nouveaux logiciels sur votre ordinateur, il vous faudra un minimum de réseau et d’espace disque.</p> <h2 id="le-terminal">Le terminal</h2> <p>Nous allons commencer par une prise en main du terminal de votre système.</p> <p><strong>Pour les Windows</strong> : si ce n’est pas déjà fait, installez l’émulateur de terminal PowerShell, que vous pouvez télécharger ici :</p> <ul> <li><a href="http://www.microsoft.com/en-us/download/details.aspx?id=44987">version pour Windows 8</a>,</li> <li><a href="https://www.microsoft.com/en-us/download/details.aspx?id=40855">la version pour Windows Vista ou 7</a>, si je comprends bien,</li> <li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=60cb5b6c-6532-45e0-ab0f-a94ae9ababf5">la version pour Windows XP</a>,</li> <li><a href="https://technet.microsoft.com/en-gb/scriptcenter/powershell.aspx">autres versions</a>.</li> </ul> <p>Les utilisateurs Linux et Mac ont déjà un terminal installé, trouvez le raccourci et lancez-le. La majorité des Ubuntu fournit aussi le raccourci clavier <code>Ctrl-Alt-T</code>.</p> <p>Dans les questions qui suivent, aidez-vous avec un explorateur graphique de fichiers pour vous repérer dans l’arborescence.</p> <ol> <li> <p>Découvrez ce que font les commandes <code>pwd</code>, <code>ls</code> et <code>fkggfejedof</code>.</p> </li> <li> <p>Des commandes avec paramètres, maintenant, tapez</p> <pre><code>ls . ls * ls .. ls / ls Bureau ls sdfarfqwe234 </code></pre> <p>Expliquer quels fichiers sont affichés par chacune de ces commandes.</p> </li> <li> <p>Utilisez les flèches haut et bas pour rappeler des anciennes commandes.</p> </li> <li> <p>Les bons émulateurs de terminal supportent l’<em>autocompletion</em>. Tapez <code>pw</code>, suivi de la touche <em>tab</em> une, deux, trois fois. Tapez</p> <pre><code>ls Bur </code></pre> <p>suivi de la touche <em>tab</em>, completez jusqu’à ce que le choix soit unique.</p> </li> <li> <p>Les commandes <code>mkdir</code> et <code>rmdir</code> créent et détruisent un dossier vide. Testez-les.</p> </li> <li> <p>Créez un dossier nommé <code>TD3</code>. Tapez les commandes (vous pouvez vous aider avec l’autocompletion)</p> <pre><code>cd TD3 pwd touch fichier-vide ls ls ../TD3 </code></pre> </li> <li> <p>Lancez un éditeur de texte. Sous Windows, tapez la commande <code>notepad</code>. Sous Linux tapez le nom d’un éditeur de texte présent sur votre système, par exemple <code>geany</code>. Sous Mac, tapez <code>TextEdit</code>.</p> </li> <li> <p>Écrivez quelque ligne dans l’éditeur de texte, et sauvegardez sous le nom <code>test.txt</code>.</p> </li> <li> <p>Revenez au terminal, tapez</p> <pre><code>cat test.txt </code></pre> </li> <li> <p>(Uniquement sous Mac/Linux) Tapez</p> <pre><code>less text.txt </code></pre> <p>Utilisez la touche <code>q</code> pour sortir.</p> </li> <li> <p>Tapez</p> <pre><code>cd .. pwd </code></pre> </li> <li> <p>Essayez d’effacer le dossier <code>TD3</code>. Que se passe-t-til ?</p> </li> <li> <p>Tapez</p> <pre><code>rm TD3/* ls TD3 </code></pre> </li> <li> <p>Effacez le dossier <code>TD3</code>.</p> </li> </ol> <p>Synthétisez ce que vous avez appris : que font les commandes <code>ls</code>, <code>cd</code>, <code>pwd</code>, <code>rm</code>, <code>mkdir</code>, <code>rmdir</code>, <code>cat</code>, <code>less</code> ?</p> <h2 id="git">Git</h2> <p>Nous pouvons maintenant passer à la découverte de Git. Pour cela, nous devons commencer par l’installer. N’oubliez pas de créer votre <a href="https://github.com/">compte GitHub</a>, si ce n’est pas déjà fait.</p> <h3 id="windows">Windows</h3> <p>Installer msysGit : <a href="https://msysgit.github.io/">https://msysgit.github.io/</a>.</p> <p>Dans un cas comme dans l’autre, lorsque l’installeur vous le propose, choisissez les options :</p> <ul> <li><em>Run Git from the Windows command prompt</em>,</li> <li><em>Check out Windows style, commit Linux style line endings</em>.</li> </ul> <p>L’installation inclut un émulateur de terminal appelé <em>Git Bash</em>, similaire à PowerShell, mais avec un mode d’autocompletion plus adapté à Git.</p> <p>Alternativement, vous pouvez installer le client Git de GitHub, téléchargeable ici : <a href="http://windows.github.com">http://windows.github.com</a> (uniquement pour Windows 7 ou plus). msysGit sera installé avec.</p> <h3 id="mac">Mac</h3> <p>Le plus simple c’est d’installer le client Git de GitHub, téléchargeable ici : <a href="http://mac.github.com">http://mac.github.com</a>.</p> <p>Alternativement, vous pouvez taper <code>git</code> dans le terminal, et l’OS vous proposera d’installer Git s’il n’est pas déjà présent.</p> <h3 id="linux-et-vm">Linux et VM</h3> <p>Git est déjà installé sur les cartables numériques, <strong>vous pouvez sauter cette étape</strong> dans ce cas. Pour les autres Linux, on installera la version contenue dans les paquets standards.</p> <p>Sous Ubuntu, Debian et similaires, taper dans un terminal</p> <pre><code>sudo apt-get install git git-gui gitk </code></pre> <p>le mot de passe utilisateur des VM est <em>user</em>.</p> <h3 id="dcouverte-de-git">Découverte de Git</h3> <p>Dans ce TD nous allons utiliser Git à travers le terminal. Si vous avez installé un client graphique, n’hésitez pas à découvrir comment appliquer les mêmes commandes dans celui-ci. Sous Windows, PowerShell ou Git Bash peuvent être utilisé indifféremment, mais le deuxième se révélera plus pratique si vous avez pris l’habitude d’utiliser la touche <em>tab</em> pour compléter.</p> <ol> <li> <p>Tapez les commandes</p> <pre><code>git git help </code></pre> </li> <li> <p>Tapez</p> <pre><code>git help init </code></pre> <p>et lisez la documentation (touche <code>q</code> pour sortir). </p> </li> <li> <p>Créez un dossier, entrez dans le dossier (commande <code>cd</code>), puis initialisez-le pour Git avec <code>git init</code>.</p> </li> <li> <p>Créez deux fichiers de texte nommés <code>a.txt</code> et <code>b.txt</code>.</p> </li> <li> <p>Testez les commandes</p> <pre><code>git status git diff git add a.txt git status git commit -m "Premier commit" git status git log --stat </code></pre> </li> <li> <p>Créez un deuxième commit contenant le fichier <code>b.txt</code>. Lisez à nouveau la sortie de <code>git status</code> et de <code>git log</code>.</p> </li> <li> <p>Tapez</p> <pre><code>git rm a.txt ls git status </code></pre> <p>puis commitez le changement. Lisez le log.</p> </li> </ol> <h2 id="travailler-avec-une-copie-distante">Travailler avec une copie distante</h2> <p>Connectez-vous sur GitHub, puis visitez ce lien : <a href="https://github.com/defeo/in202.github.io/fork">https://github.com/defeo/in202.github.io/fork</a>. GitHub va prendre quelques secondes pour vous en créer une copie personnelle.</p> <p>Lisez le fichier de README, qui s’affiche dans le répertoire. Dans les réglages (<a href="https://github.com/moi/in202.github.io/settings">https://github.com/moi/in202.github.io/settings</a>, où vous aurez le soin de remplacer <code>moi</code> par votre nom d’utilisateur), renommez le répertoire en <code>moi.github.io</code>, en remplaçant <code>moi</code> par votre nom d’utilisateur.</p> <p>Maintenant créez une copie locale du répertoire avec</p> <pre><code>git clone https://github.com/moi/moi.github.io.git </code></pre> <ol> <li> <p>Dans l’interface web de GitHub, éditez le fichier <code>README.md</code>, et commitez les changements.</p> </li> <li> <p>Tirez les changement dans votre copie locale du répertoire :</p> <pre><code>cd moi.github.io git status git log git pull git status git log </code></pre> </li> <li> <p>Modifiez le fichier <code>README.md</code> sur votre ordinateur, commitez les changements, puis poussez vos changements sur GitHub :</p> <pre><code>git status git push </code></pre> </li> <li> <p>Faites encore un changement à <code>README.md</code> dans l’interface de GitHub. Commitez. Ne tirez pas encore.</p> </li> <li> <p>Faites un changement à <code>index.html</code> dans votre copie locale. Commitez. Essayer de pousser, que se passe-t-il ?</p> </li> <li> <p>Tirez, puis lisez le log avec</p> <pre class="bash"><code>git log --graph </code></pre> <p>Que s’est-il passé ? Poussez maintenant.</p> </li> <li> <p>Analysez le même log avec un client graphique : tapez la commande <code>gitk</code> dans Mac/Linux, ou <code>gitk.cmd</code> dans Windows.</p> </li> </ol> <p>D’autres choix de client graphique s’offrent à vous :</p> <ul> <li> <p>Le client GitHub pour <a href="http://mac.github.com/">Mac</a> ou <a href="http://windows.github.com/">Windows</a>.</p> </li> <li> <p>L’interface web de GitHub, à l’adresse <a href="https://github.com/moi/moi.github.io/network">https://github.com/moi/moi.github.io/network</a>.</p> </li> <li> <p>Le client multi-plateforme <a href="http://git-cola.github.io/">git cola</a>.</p> </li> </ul> <h2 id="ma-page-personnelle">Ma page personnelle</h2> <p>Visitez l’URL <a href="http://moi.github.io/">http://moi.github.io/</a> (remplacez <code>moi</code> par votre nom d’utilisateur, comme d’habitude). Cette page web est la votre, vous pouvez en disposer comme vous le souhaitez.</p> <ol> <li> <p>Reprenez le travail du <a href="../tutorial2">TD passé</a>, et faites-en votre page web personnelle.</p> </li> <li> <p>Validez votre page HTML à l’aide du validateur du W3C : <a href="http://validator.w3.org/">http://validator.w3.org/</a>. Renseignez l’adresse web de votre page dans le champs <em>Address</em> et cliquez <em>Check</em>. Cet outil vous donnera la liste des erreurs de syntaxe HTML de votre document. Corrigez votre page jusqu’à ne plus avoir d’erreurs (quelques <em>warnings</em> sont acceptables).</p> </li> </ol> <p><strong>Votre travail sera noté, vous avez jusqu’au jeudi 19 février à minuit pour le compléter.</strong></p> </div> <footer class="footer"> <div class="container"> <p><a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"> <img alt="Creative Commons Licence" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/4.0/80x15.png"/> </a> <a href="http://defeo.lu" class="print-link">Luca De Feo</a> 2015, licensed under <a rel="license" class="print-link" href="http://creativecommons.org/licenses/by-sa/4.0/">CC-BY-SA 4.0</a>.</p> <p class="dont-print">Source code available on <a href="https://github.com/defeo/in202">GitHub</a>, static Website generated with <a href="http://jekyllrb.com/">Jekyll</a> and kindly hosted by <a href="http://pages.github.com/">GitHub</a>.</p> </div> </footer> </div> <script src="//yandex.st/highlightjs/8.0/highlight.min.js"></script> <script> hljs.configure({ tabReplace: ' ' }); hljs.initHighlightingOnLoad(); </script> </body> </html>