{"id":9,"date":"2017-04-26T22:48:20","date_gmt":"2017-04-26T21:48:20","guid":{"rendered":"https:\/\/tutorialsdev.wordpress.com\/?p=4"},"modified":"2018-10-26T08:07:09","modified_gmt":"2018-10-26T06:07:09","slug":"debuter-un-developpement-avec-git","status":"publish","type":"post","link":"https:\/\/tutorialsdev.com\/index.php\/2017\/04\/26\/debuter-un-developpement-avec-git\/","title":{"rendered":"D\u00e9buter un d\u00e9veloppement avec Git"},"content":{"rendered":"<p><iframe loading=\"lazy\" width=\"714\" height=\"402\" src=\"https:\/\/www.youtube.com\/embed\/yYXfhlIgZ9g?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<h1>Contexte<\/h1>\n<div>Ce tutoriel est \u00e0 destination de d\u00e9veloppeurs d\u00e9butants sous git (utilisant initialement \u00a0Tortoise Subversion). Il s&#8217;agit d&#8217;\u00e9tablir des pratiques qui faciliteront votre utilisation de git, en entreprise ou quand vous souhaitez \u00eatre contributeur en mati\u00e8re de d\u00e9veloppement. Nous allons proc\u00e9der par les questions fr\u00e9quentes (FAQ) en y apportant des r\u00e9ponses issues principalement de retours d&#8217;exp\u00e9rience.<\/div>\n<div>\n<h1>Objectifs :<\/h1>\n<ul>\n<li>\u00c9viter de troller concernant Git<\/li>\n<li>Construire une base de connaissance tr\u00e8s op\u00e9rationnelle en d\u00e9veloppement<\/li>\n<li>D\u00e9couvrir le pouvoir de git<\/li>\n<\/ul>\n<h1>Environnement technique :<\/h1>\n<ul>\n<li>Git 2.19.1-64 (Git Bash,Git Gui)<\/li>\n<li>Avoir un compte sous bitbucket ou github<\/li>\n<li>TortoiseGit 2.3.0.0<\/li>\n<\/ul>\n<\/div>\n<h2>Mise en \u0153uvre<\/h2>\n<h3>Identifier la branche cible<\/h3>\n<p style=\"text-align: justify;\">Dans un premier temps il faudra s\u00e9lectionner la branche distante cible afin de la connecter \u00e0 la branche locale que nous allons cr\u00e9er par la suite. Il faudra utiliser la commande <a href=\"https:\/\/git-scm.com\/docs\/gitk\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>gitk &#8211;all&amp;<\/strong><\/a>. Elle permet\u00a0 d&#8217;afficher la liste des branches\u00a0 locales et distantes<strong>.<\/strong><\/p>\n<p style=\"text-align: justify;\"><strong><u>Exemple :<\/u><\/strong> remotes\/origin\/master ou origin\/master<\/p>\n<p><img loading=\"lazy\" class=\" size-full wp-image-26 alignnone\" src=\"http:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/gitkall.png\" alt=\"gitkall&amp;\" width=\"421\" height=\"41\" srcset=\"https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/gitkall.png 421w, https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/gitkall-300x29.png 300w\" sizes=\"(max-width: 421px) 100vw, 421px\" \/><br \/>\n<!--more--><\/p>\n<h3>Cr\u00e9er une branche locale<\/h3>\n<p><strong><a href=\"https:\/\/git-scm.com\/docs\/git-checkout\">git checkout -b <\/a><\/strong><br \/>\n<span style=\"text-decoration: underline;\"><strong>Exemple :<\/strong><\/span> \u00a0git checkout -b MO-1234 remotes\/origin\/master ou git checkout -b MO-1234 \/origin\/master<br \/>\n<img loading=\"lazy\" class=\"alignnone wp-image-18\" src=\"http:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/creation-branche.png\" alt=\"creation-branche\" width=\"671\" height=\"118\" srcset=\"https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/creation-branche.png 614w, https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/creation-branche-300x53.png 300w\" sizes=\"(max-width: 671px) 100vw, 671px\" \/><\/p>\n<h3>Rafra\u00eechir la branche \u00a0distante<\/h3>\n<p style=\"text-align: justify;\">Apr\u00e8s la cr\u00e9ation de notre nouvelle branche locale nous devons par pr\u00e9caution la synchroniser avec la branche distante via la commande <strong><a href=\"https:\/\/git-scm.com\/docs\/git-pull\">git pull &#8211;rebase origin <\/a><\/strong>. Elle permet de rejouer les commit pr\u00e9c\u00e9dents et de r\u00e9soudre les conflits de mani\u00e8re structur\u00e9e.<\/p>\n<p style=\"text-align: justify;\"><span style=\"text-decoration: underline;\"><strong>Exemple :<\/strong><\/span> git \u00a0pull &#8211;rebase origin master<\/p>\n<p style=\"text-align: justify;\"><img loading=\"lazy\" class=\"alignnone wp-image-22\" src=\"http:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/git-rebase.png\" alt=\"git rebase\" width=\"683\" height=\"88\" srcset=\"https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/git-rebase.png 613w, https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/git-rebase-300x39.png 300w\" sizes=\"(max-width: 683px) 100vw, 683px\" \/><\/p>\n<h3>Effectuer le d\u00e9veloppement<\/h3>\n<figure id=\"attachment_29\" aria-describedby=\"caption-attachment-29\" style=\"width: 654px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" class=\"alignnone wp-image-29\" src=\"http:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/dc3a9veloppement.png\" alt=\"D\u00e9veloppement\" width=\"654\" height=\"201\" srcset=\"https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/dc3a9veloppement.png 633w, https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/dc3a9veloppement-300x92.png 300w\" sizes=\"(max-width: 654px) 100vw, 654px\" \/><figcaption id=\"caption-attachment-29\" class=\"wp-caption-text\">Processus d&#8217;un d\u00e9veloppement<\/figcaption><\/figure>\n<h3>Sauvegarde du d\u00e9veloppement (<a href=\"https:\/\/git-scm.com\/docs\/git-commit\">Commit<\/a>)<\/h3>\n<p style=\"text-align: justify;\">L&#8217;\u00e9tape de sauvegarde consiste \u00e0 enregistrer les modifications sur la branche locale que nous avons cr\u00e9\u00e9. Mais avant cela nous devons v\u00e9rifier que notre projet compile toujours correctement (<a href=\"https:\/\/maven.apache.org\/\"><strong>MAVEN<\/strong><\/a>), en suite nous v\u00e9rifions les modifications dans l&#8217;outil graphique <strong><a href=\"https:\/\/git-scm.com\/docs\/git-gui\">gui GUI<\/a>, <\/strong>puis nous ajoutons\u00a0 nos fichiers dans l&#8217;espace de sauvegarde avant de lancer la sauvegarde.<\/p>\n<p style=\"text-align: justify;\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-33\" src=\"http:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/process-gitcommit1.png\" alt=\"process-gitCommit\" width=\"901\" height=\"93\" srcset=\"https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/process-gitcommit1.png 901w, https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/process-gitcommit1-300x31.png 300w, https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/process-gitcommit1-768x79.png 768w\" sizes=\"(max-width: 901px) 100vw, 901px\" \/><\/p>\n<h3>V\u00e9rifier que le commit est valid\u00e9<\/h3>\n<p style=\"text-align: justify;\">Afin de valider que votre sauvegarde est bien effectu\u00e9e la commande <a href=\"https:\/\/git-scm.com\/docs\/git-log\"><strong>git log<\/strong><\/a> nous permet d&#8217;avoir l&#8217;historique des modifications disponibles sur la branche\u00a0 locale.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-20\" src=\"http:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/git-log.png\" alt=\"git log\" width=\"692\" height=\"119\" srcset=\"https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/git-log.png 612w, https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/git-log-300x51.png 300w\" sizes=\"(max-width: 692px) 100vw, 692px\" \/><\/p>\n<h3>Pousser le d\u00e9veloppement sur la branche distante<\/h3>\n<p style=\"text-align: justify;\">Passons \u00e0 la derni\u00e8re \u00e9tape de notre d\u00e9veloppement. Elle consiste \u00e0 envoyer nos modifications sur la branche distante gr\u00e2ce \u00e0 la commande <strong><a href=\"https:\/\/git-scm.com\/docs\/git-push\">git push<\/a><\/strong>. Par pr\u00e9caution nous devons synchroniser la branche locale et la branche distante afin de r\u00e9cup\u00e9rer un commit qu&#8217;un autre d\u00e9veloppeur aurait pu envoyer sur la branche distante.<\/p>\n<p style=\"text-align: justify;\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-32\" src=\"http:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/processus-gitpush1.png\" alt=\"Processus-gitpush\" width=\"920\" height=\"84\" srcset=\"https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/processus-gitpush1.png 920w, https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/processus-gitpush1-300x27.png 300w, https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/processus-gitpush1-768x70.png 768w\" sizes=\"(max-width: 920px) 100vw, 920px\" \/><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Exemple :<\/strong><\/span> git push origin MO-1234:refs\/heads\/master<br \/>\n<img loading=\"lazy\" class=\"alignnone wp-image-21\" src=\"http:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/git-push.png\" alt=\"git push\" width=\"679\" height=\"155\" srcset=\"https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/git-push.png 613w, https:\/\/tutorialsdev.com\/wp-content\/uploads\/2017\/04\/git-push-300x69.png 300w\" sizes=\"(max-width: 679px) 100vw, 679px\" \/><\/p>\n<p style=\"text-align: justify;\">Une fois que vous avez pouss\u00e9 ce dernier commit il sera disponible sur la version distante. Comme la connaissance est un fruit qui se cueille aussi chez le voisin je vous invite \u00e0 me laisser un commentaire ou vos suggestions. Si vous avez aim\u00e9 l&#8217;article n\u2019h\u00e9siter pas \u00e0 vous abonnez \u00e0 notre newsletter et \u00e0 partager l&#8217;article.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ce tutoriel est \u00e0 destination de d\u00e9veloppeurs d\u00e9butants sous git (utilisant initialement  Tortoise Subversion). Il s&#8217;agit d&#8217;\u00e9tablir des pratiques qui faciliterons votre utilisation de git, en entreprise ou quand vous souhaitez \u00eatre contributeur en mati\u00e8re de d\u00e9veloppement. Nous allons proc\u00e9d\u00e9 par les questions fr\u00e9quentes (FAQ) en y apportant des r\u00e9ponses issues principalement de retours d&#8217;exp\u00e9rience.<\/p>\n","protected":false},"author":2,"featured_media":108,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2,4],"tags":[],"_links":{"self":[{"href":"https:\/\/tutorialsdev.com\/index.php\/wp-json\/wp\/v2\/posts\/9"}],"collection":[{"href":"https:\/\/tutorialsdev.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tutorialsdev.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tutorialsdev.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tutorialsdev.com\/index.php\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":2,"href":"https:\/\/tutorialsdev.com\/index.php\/wp-json\/wp\/v2\/posts\/9\/revisions"}],"predecessor-version":[{"id":469,"href":"https:\/\/tutorialsdev.com\/index.php\/wp-json\/wp\/v2\/posts\/9\/revisions\/469"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tutorialsdev.com\/index.php\/wp-json\/wp\/v2\/media\/108"}],"wp:attachment":[{"href":"https:\/\/tutorialsdev.com\/index.php\/wp-json\/wp\/v2\/media?parent=9"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tutorialsdev.com\/index.php\/wp-json\/wp\/v2\/categories?post=9"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tutorialsdev.com\/index.php\/wp-json\/wp\/v2\/tags?post=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}