302 lines
No EOL
15 KiB
HTML
302 lines
No EOL
15 KiB
HTML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
|
|
|
|
<link rel="shortcut icon" type="image/x-icon" href="/Scratch/img/favicon.ico" />
|
|
<link rel="stylesheet" type="text/css" href="/Scratch/assets/css/main.css" />
|
|
<link rel="stylesheet" type="text/css" href="/Scratch/css/twilight.css" />
|
|
<link rel="stylesheet" type="text/css" href="/Scratch/css/idc.css" />
|
|
<link rel="alternate" type="application/rss+xml" title="RSS" href="http://feeds.feedburner.com/yannespositocomfr"/>
|
|
|
|
<link rel="alternate" lang="fr" xml:lang="fr" title="Git pour les nuls" type="text/html" hreflang="fr" href="/Scratch/fr/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/" />
|
|
<link rel="alternate" lang="en" xml:lang="en" title="Git for n00b" type="text/html" hreflang="en" href="/Scratch/en/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/" />
|
|
<script type="text/javascript" src="/Scratch/js/jquery-1.3.1.min.js"></script>
|
|
<script type="text/javascript" src="/Scratch/js/jquery.cookie.js"></script>
|
|
<script type="text/javascript" src="/Scratch/js/index.js"></script>
|
|
<!--[if lt IE 9]>
|
|
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
|
<![endif]-->
|
|
<!-- < % if containMaths %>
|
|
<script type="text/javascript" src="/Scratch/js/MathJax/MathJax.js"></script>
|
|
< % end %>
|
|
-->
|
|
<title>Git pour les nuls</title>
|
|
</head>
|
|
<body lang="fr" class="article">
|
|
<script type="text/javascript">// <![CDATA[
|
|
document.write('<div id="blackpage"><img src="/Scratch/img/loading.gif" alt="Chargement en cours..."/></div>');
|
|
// ]]>
|
|
</script>
|
|
|
|
<div id="content">
|
|
|
|
<div id="choix">
|
|
<div class="return"><a href="#entete">↓ Menu ↓</a></div>
|
|
<div id="choixlang">
|
|
<a href="/Scratch/en/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/" onclick="setLanguage('en')">in English</a>
|
|
</div>
|
|
<div class="flush"></div>
|
|
</div>
|
|
<div id="titre">
|
|
<h1>
|
|
Git pour les nuls
|
|
</h1>
|
|
|
|
<h2>
|
|
Utiliser git avec quelques commandes simples
|
|
</h2>
|
|
|
|
</div>
|
|
<div class="flush"></div>
|
|
|
|
|
|
|
|
<div id="sousliens"><ul><li><a href="/Scratch/fr/blog/2009-11-12-Git-for-n00b/">la conlusion pour commencer <span class="nicer">»</span></a></li><li><a href="/Scratch/fr/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/">Git pour quoi faire ? <span class="nicer">»</span></a></li><li><a href="/Scratch/fr/blog/2009-11-12-Git-for-n00b/conf-et-install/">Avant l'utilisation, la configuration <span class="nicer">»</span></a></li><li><span class="active" title="You're here.">Utiliser git avec quelques commandes simples <span class="nicer">»</span></span></li><li><a href="/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/">Comprendre <span class="nicer">»</span></a></li><li><a href="/Scratch/fr/blog/2009-11-12-Git-for-n00b/commandes-avancees/">Liste de commandes <span class="nicer">»</span></a></li></ul></div>
|
|
|
|
<div class="flush"></div>
|
|
<div id="afterheader">
|
|
<div class="corps">
|
|
<h1 class="first" id="et-cest-parti-">Et c’est parti !</h1>
|
|
|
|
<p>Voici une parmi de nombreuses autres façon d’utiliser <a href="http://git-scm.org" title="Git">Git</a>. Cette méthode est nécessaire et suffisante pour travailler seul ou en collaboration sur un projet commun. Cependant, on peut faire beaucoup mieux avec <a href="http://git-scm.org" title="Git">Git</a> que ce <em>workflow</em> (en langage anglo-saxon).</p>
|
|
|
|
<h2 id="utilisation-basique">Utilisation basique</h2>
|
|
|
|
<p>La façon immédiate de travailler avec <a href="http://git-scm.org" title="Git">Git</a> :</p>
|
|
|
|
<ul>
|
|
<li>récupérer les modifications des autres <span class="black"><code>git pull</code></span></li>
|
|
<li>voir les détails de ces modifications <span class="black"><code>git log</code></span></li>
|
|
<li>Plusieurs fois:
|
|
<ul>
|
|
<li><em>Faire une modification atomique</em></li>
|
|
<li>verifier le details de ses modifications <span class="black"><code>git status</code></span> et <span class="black"><code>git diff</code></span></li>
|
|
<li>indiquer si nécessaire que de nouveaux fichiers doivent être <em>versionnés</em> <span class="black"><code>git add [file]</code></span></li>
|
|
<li>enregistrer ses modifications <br /><span class="black"><code>git commit -a -m "message"</code></span></li>
|
|
<li>envoyer ses modifications aux autres <span class="black"><code>git push</code></span> (refaire un <code>git pull</code> si le push renvoie une erreur).</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<p>Voilà, avec ces quelques commandes vous pouvez utiliser <a href="http://git-scm.org" title="Git">Git</a> sur un projet avec d’autres personnes. Même si c’est suffisant, il faut quand même connaître une chose avant de se lancer ; la gestion des <em>conflits</em>.</p>
|
|
|
|
<h3 id="gestion-des-conflits">Gestion des conflits</h3>
|
|
|
|
<p>Les conflits peuvent survenir lorsque vous modifiez les même lignes de codes sur le même fichier d’une autre branche que vous <em>mergez</em>. Ça peut sembler un peu intimidant, mais avec <a href="http://git-scm.org" title="Git">Git</a> ce genre de chose est très facile a régler.</p>
|
|
|
|
<h4 id="exemple">exemple</h4>
|
|
|
|
<p>Vous partez du fichier suivant : </p>
|
|
|
|
<div style="width: 18em; margin-left: auto; margin-right: auto">
|
|
<pre class="twilight">
|
|
Zoot
|
|
</pre>
|
|
</div>
|
|
|
|
<p>et vous modifiez une ligne</p>
|
|
|
|
<div style="width: 18em; margin-left: auto; margin-right: auto">
|
|
<pre class="twilight">
|
|
Zoot <span class="Constant"><strong>the pure</strong></span>
|
|
</pre>
|
|
</div>
|
|
|
|
<p>sauf que pendant ce temps, un autre utilisateur a aussi modifié cette ligne et a fait un <code>push</code> de sa modification. </p>
|
|
|
|
<div style="width: 18em; margin-left: auto; margin-right: auto">
|
|
<pre class="twilight">
|
|
Zoot<span class="StringConstant"><strong>, just Zoot</strong></span>
|
|
</pre>
|
|
</div>
|
|
|
|
<p>Maintenant quand vous lancez la commande</p>
|
|
|
|
<div>
|
|
<pre class="twilight">
|
|
$ git pull
|
|
remote: Counting objects: 5, <span class="Keyword">done</span>.
|
|
remote: Total 3 (delta 0), reused 0 (delta 0)
|
|
Unpacking objects: 100% (3/3), <span class="Keyword">done</span>.
|
|
From /home/e640846/tmp/conflictTest
|
|
d3ea395..2dc7ffb master -<span class="Keyword">></span> origin/master
|
|
Auto-merging foo
|
|
CONFLICT (content): Merge conflict <span class="Keyword">in</span> foo
|
|
Automatic merge failed<span class="Keyword">;</span> fix conflicts and <span class="Keyword">then</span> commit the result.
|
|
</pre>
|
|
</div>
|
|
|
|
<p>Notre fichier <code>foo</code> contient alors : </p>
|
|
|
|
<div>
|
|
<pre class="twilight">
|
|
<<<<<<< HEAD:foo
|
|
Zoot <span class="Constant"><strong>the pure</strong></span>
|
|
=======
|
|
<span>Zoot<span class="StringConstant"><strong>, just Zoot</strong></span></span>
|
|
>>>>>>> 2dc7ffb0f186a407a1814d1a62684342cd54e7d6:foo
|
|
</pre>
|
|
</div>
|
|
|
|
<h4 id="rsolution-du-conflit">Résolution du conflit</h4>
|
|
|
|
<p>Régler le conflit, il suffit d’éditer le fichier, par exemple en écrivant :</p>
|
|
|
|
<div style="width: 18em; margin-left: auto; margin-right: auto">
|
|
<pre class="twilight">
|
|
Zoot <span class="Constant"><strong>the not so pure</strong></span>
|
|
</pre>
|
|
</div>
|
|
|
|
<p>et de ‘commiter’ tout simplement : </p>
|
|
|
|
<div>
|
|
<pre class="twilight">
|
|
git commit -a -m <span class="String"><span class="String">"</span>conflict resolved<span class="String">"</span></span>
|
|
</pre>
|
|
</div>
|
|
|
|
<p>Maintenant vous êtes fin prêt pour utiliser <a href="http://git-scm.org" title="Git">Git</a>.
|
|
Sauf que <a href="http://git-scm.org" title="Git">Git</a>, c’est un outil qui permet de faire beaucoup plus que juste ça. Nous allons maintenant voir comment utiliser les fonctionnalités de Git qui n’étaient pas disponibles avec CVS et consorts.</p>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="navigation">
|
|
<div class="navigationprev"><a href="/Scratch/fr/blog/2009-11-12-Git-for-n00b/conf-et-install/"><span class="nicer">«</span> précédent</a></div>
|
|
<div class="navigationnext"><a href="/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/">suivant <span class="nicer">»</span></a></div>
|
|
</div>
|
|
<div class="flush"></div>
|
|
|
|
|
|
<div id="choixrss">
|
|
<a id="rss" href="http://feeds.feedburner.com/yannespositocomfr">
|
|
s'abonner
|
|
</a>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
$('#comment').hide();
|
|
$('#clickcomment').click(showComments);
|
|
});
|
|
function showComments() {
|
|
$('#comment').show();
|
|
$('#clickcomment').fadeOut();
|
|
}
|
|
document.write('<div id="clickcomment">Commentaires</div>');
|
|
</script>
|
|
<div class="flush"></div>
|
|
<div class="corps" id="comment">
|
|
<h2 class="first">commentaires</h2>
|
|
<noscript>
|
|
Vous devez activer javascript pour commenter.
|
|
</noscript>
|
|
|
|
<script type="text/javascript">
|
|
var idcomments_acct = 'a307f0044511ff1b5cfca573fc0a52e7';
|
|
var idcomments_post_id = '/Scratch/fr/blog/2009-11-12-Git-for-n00b/';
|
|
var idcomments_post_url = 'http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/';
|
|
</script>
|
|
<span id="IDCommentsPostTitle" style="display:none"></span>
|
|
<script type='text/javascript' src='/Scratch/js/genericCommentWrapperV2.js'></script>
|
|
|
|
</div>
|
|
|
|
<div id="entete" class="corps_spaced">
|
|
<div id="liens">
|
|
<ul><li><a href="/Scratch/fr/">Bienvenue</a></li>
|
|
<li><a href="/Scratch/fr/blog/">Blog</a></li>
|
|
<li><a href="/Scratch/fr/softwares/">Softwares</a></li>
|
|
<li><a href="/Scratch/fr/about/">À propos</a></li></ul>
|
|
</div>
|
|
<div class="flush"></div>
|
|
<hr/>
|
|
<div id="next_before_articles">
|
|
<div id="previous_articles">
|
|
articles précédents
|
|
|
|
<div class="previous_article">
|
|
<a href="/Scratch/fr/blog/2009-10-30-How-to-handle-evil-IE/"><span class="nicer">«</span> Une CSS pour IE seulement</a>
|
|
</div>
|
|
|
|
|
|
<div class="previous_article">
|
|
<a href="/Scratch/fr/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/"><span class="nicer">«</span> Synchronisation avec mobileme (2)</a>
|
|
</div>
|
|
|
|
|
|
<div class="previous_article">
|
|
<a href="/Scratch/fr/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/"><span class="nicer">«</span> Un menu qui attends avant de se cacher</a>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<div id="next_articles">
|
|
articles suivants
|
|
|
|
<div class="next_article">
|
|
<a href="/Scratch/fr/blog/2009-12-06-iphone-call-filter/">Filtrage d'appel avec l'iPhone <span class="nicer">»</span></a>
|
|
</div>
|
|
|
|
|
|
<div class="next_article">
|
|
<a href="/Scratch/fr/blog/2009-12-14-Git-vs--Bzr/">Git ou Bazaar ? <span class="nicer">»</span></a>
|
|
</div>
|
|
|
|
|
|
<div class="next_article">
|
|
<a href="/Scratch/fr/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/">Changer le shell par défaut sous Mac OS X <span class="nicer">»</span></a>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<div class="flush"></div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div id="bottom">
|
|
<div>
|
|
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.fr">Droits de reproduction ©, Yann Esposito</a>
|
|
</div>
|
|
<div id="lastmod">
|
|
Écrit le : 12/11/2009
|
|
modifié le : 21/12/2010
|
|
</div>
|
|
<div>
|
|
Site entièrement réalisé avec
|
|
<a href="http://www.vim.org">Vim</a>
|
|
et
|
|
<a href="http://nanoc.stoneship.org">nanoc</a>
|
|
</div>
|
|
<div>
|
|
<a href="/Scratch/fr/validation/">Validation</a>
|
|
<a href="http://validator.w3.org/check?uri=referer"> [xhtml] </a>
|
|
.
|
|
<a href="http://jigsaw.w3.org/css-validator/check/referer?profile=css3"> [css] </a>
|
|
.
|
|
<a href="http://validator.w3.org/feed/check.cgi?url=http%3A//yannesposito.com/Scratch/fr/blog/feed/feed.xml">[rss]</a>
|
|
</div>
|
|
</div>
|
|
<div class="clear"></div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
var clicky = { log: function(){ return; }, goal: function(){ return; }};
|
|
var clicky_site_id = 66374971;
|
|
(function() {
|
|
var s = document.createElement('script');
|
|
s.type = 'text/javascript';
|
|
s.async = true;
|
|
s.src = ( document.location.protocol == 'https:' ? 'https://static.getclicky.com/js' : 'http://static.getclicky.com/js' );
|
|
( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( s );
|
|
})();
|
|
</script>
|
|
<noscript><p><img alt="Clicky" width="1" height="1" src="http://in.getclicky.com/66374971ns.gif" /></p></noscript>
|
|
|
|
</body>
|
|
</html> |