<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/html"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>راهنمای git-flow</title> <link href='https://fonts.googleapis.com/css?family=Sansita+One' rel='stylesheet' type='text/css'> <link rel="stylesheet" href="css/normalize.css" type="text/css" media="screen,print"> <link rel="stylesheet" href="css/style.css" type="text/css" media="screen,print"> <link rel="stylesheet" href="css/style.fa_FA.css" type="text/css" media="screen,print"> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-33766650-1']); _gaq.push(['_trackPageview']); (function () { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> </head> <body> <div id="banner"><a href="https://github.com/danielkummer/git-flow-cheatsheet">Fork me on GitHub</a></div> <header> <h1 id="title">راهنمای git-flow</h1> <p id="author"> ایجاد شده توسط <a href="http://twitter.com/0r1g4m14dd1c7">دانیل کامر</a> <a href="https://twitter.com/share" class="twitter-share-button" data-via="0r1g4m14dd1c7" data-size="large">تویت</a> <script>!function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (!d.getElementById(id)) { js = d.createElement(s); js.id = id; js.src = "//platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); } }(document, "script", "twitter-wjs");</script> </p> <p id="desc">شاخهبندی بهینه با git-flow توسط<a href="http://nvie.com/">وینسنت دریسن</a></p> <p id="translations">translations: <a href="#" class="active" title="english">English</a> - <a href="index.es_ES.html" title="spanish">Castellano</a> - <a href="index.pt_BR.html" title="Português Brasileiro">Português Brasileiro</a> - <a href="index.zh_TW.html" title="Traditional Chinese">繁體中文(Traditional Chinese)</a> - <a href="index.zh_CN.html" title="Simplified Chinese">简体中文(Simplified Chinese)</a> - <a href="index.ja_JP.html" title="日本語">日本語</a> - <a href="index.tr_TR.html" title="Turkce">Türkçe</a> - <a href="index.ko_KR.html" title="한국어">한국어(Korean)</a> - <a href="index.fr_FR.html" title="Français">Français</a> - <a href="index.it_IT.html" title="Italiano">Italiano</a> - <a href="index.nl_NL.html" title="Nederlands">Nederlands</a> - <a href="index.ru_RU.html" title="Russian">Русский (Russian)</a> - <a href="index.de_DE.html" title="German">Deutsch (German)</a> - <a href="index.ca_CA.html" title="Català">Català (Catalan)</a> - <a href="index.ro_RO.html" title="Romanian">Română (Romanian)</a> - <a href="index.el_GR.html" title="Ελληνικά (Greek)">Ελληνικά (Greek)</a> - <a href="index.uk_UA.html" title="Ukrainian">Українська (Ukrainian)</a> - <a href="index.vi_VN.html" title="Tiếng Việt">Tiếng Việt (Vietnamese)</a> - <a href="index.pl_PL.html" title="Polish">Polski</a> - <a href="index.ar_MA.html" title="العربية">العربية</a> - <a href="index.fa_FA.html" title="فارسی">فارسی</a> - <a href="index.lt_LT.html" title="Lithuanian">Lietuviškai (Lithuanian)</a> - <a href="index.az_AZ.html" title="Polish">Azərbaycanca (Azerbaijani)</a> <a href="index.id_ID.html" title="Bahasa Indonesia">Bahasa Indonesia</a> </p> </header> <div id="main"> <div class="scrollblock"> <h2>درباره</h2> <p> git-flow مجموعهای از تعمیمهای گیت است که برای عملیات سطح بالا روی مخازن با مدل شاخهبندی وینسنت دریسن است. <small><a href="http://nvie.com/posts/a-successful-git-branching-model/">بیشتر</a></small> </p> <p class="divider">★ ★ ★</p> <p>این برگه تقلب استفادههای پایه و تاثیر عملیات git-flow را نشان میدهد.</p> <p class="divider">★ ★ ★</p> </div> <div class="scrollblock"> <h2>راهنماییهای اولیه</h2> <ul> <li>گیت فلو نکات کمکی برای دستورات و خروجی را بسیار خوب فراهم میکند. مطالب را با دقت مطالعه کنید تا ببنید چه اتفاقی دارد میافتد... </li> <li>برای کاربران OSX یا ویندوز<a href="http://www.sourcetreeapp.com/">Sourcetree</a> یک ابزار عالی است که محیط گرافیکی دارد و از git-flow پشتیبانی میکند. </li> <li>گیت فلو یک راهکار بر اساس ادغام است و شاخههای feature(ویژگی، قابلیت) را بازسازی نمیکند.</li> </ul> <p class="divider">★ ★ ★</p> </div> <div class="scrollblock"> <h2><a name="setup" href="#setup">نصب و راهاندازی</a></h2> <ul> <li>شما باید یک نصب فعال از گیت را به عنوان پیشنیاز داشته باشید.</li> <li>گیت فلو، روی OSX، لینوکس و ویندوز کار میکند.</li> </ul> <p class="divider">★ ★ ★</p> <div class="col-1"> <h3>برای OSX</h3> <span> Homebrew استفاده از ابزار</span> <blockquote> $ brew install git-flow-avh </blockquote> <span>Macports استفاده از ابزار</span> <blockquote> $ port install git-flow-avh </blockquote> <h3>لینوکس</h3> <blockquote> $ apt-get install git-flow </blockquote> <h3>ویندوز (ابزار Cygwin)</h3> <blockquote> $ wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bash </blockquote> <p>شما دو ابزار wget و util-linux را برای نصب git-flow نیاز دارید.</p> </div> <div class="col-2"> <p>برای دانستن جزییات بیشتر در مورد نصب گیت فلو، لطفا از <a href="https://github.com/petervanderdoes/gitflow-avh/wiki/Installation">ویکی پیج گیت فلو</a> بازدید کنید.</p> <img src="img/download.png" alt="install git-flow"/> </div> </div> <div class="scrollblock"> <h2><a name="getting_started" href="#getting_started">شروع کار</a></h2> <p>گیت فلو برای اعمال تغییرات روی پروژه شما باید آغاز(مقداردهی) شود. </p> <p class="divider">★ ★ ★</p> <div class="col-1"> <h3>آغاز</h3> <p>استفاده از گیت فلو را با دستور زیر در یک مخزن گیت-که وجود دارد- آغاز کنید.</p> <blockquote> git flow init </blockquote> <p>شما باید چندین سوال را برای تعیین نامگذاری برنچهای(شاخههای) خود پاسخ دهید. پیشنهاد میشود از مقادیر پیشفرض برای این کار استفاده کنید. </p> </div> <div class="col-2"> <div class="initialize"></div> <div class="lines-small"></div> <div class="lines-open"></div> <div class="lines-big"></div> </div> </div> <div class="scrollblock"> <h2><a name="features" href="#features">ویژگیها</a></h2> <ul class="narrow"> <li>برای عرضه بعدی یک ویژگی جدید توسعه دهید!</li> <li>به طور معمول فط در مخازن توسعهدهندگان موجود هستند!</li> </ul> <p class="divider">★ ★ ★</p> <div class="col-1"> <h3>آغاز ایجاد یک ویژگی جدید</h3> <p>توسعه ویژگیهای جدید که از شاخه 'develop' آغاز میشوند!</p> <p>توسعه یک ویژگی جدید را با دستور زیر شروع کنید</p> <blockquote> git flow feature start MYFEATURE </blockquote> <p>این دستور بر اساس شاخه 'develop' ویژگی جدیدی را میسازد و به صورت اتوماتیک روی آن سویچ میکند.</p> <!-- - Bump the version number now! - Start committing last-minute fixes in preparing your release - When done, run: git flow release finish 'testrelease' --> </div> <div class="col-2"> <div class="feature-start"></div> </div> </div> <div class="scrollblock"> <div class="col-1"> <h3>اتمام ویژگی</h3> <p>توسعه یک ویژگی را تمام میکند، این دستور نتایج زیر را خواهد داشت:</p> <ul> <li>MYFEATURE را با شاخه 'develop' ادغام میکند.</li> <li>شاخه ویژگی را حذف میکند.</li> <li>دوباره روی شاخه 'develop' سویچ میکند.(برمیگردد)</li> </ul> <blockquote> git flow feature finish MYFEATURE </blockquote> </div> <div class="col-2"> <div class="feature-end"></div> </div> </div> <div class="scrollblock"> <div class="col-1"> <h3>انتشار یک ویژگی</h3> <p> آیا شما در حال توسعه یک ویژگی در یک پروژه مشارکتی هستید؟ <br/> ویژگی را روی ریموت سرور منتشر کنید تا برای سایر اعضا قابل استفاده باشد. </p> <blockquote> git flow feature publish MYFEATURE </blockquote> </div> <div class="col-2"> <div class="feature-publish"></div> </div> </div> <div class="scrollblock"> <div class="col-1"> <h3>دریافت ویژگیهای منتشر شده</h3> <p> قابلیتی را که عضو دیگری منتشر کرده است را دریافت کنید. </p> <blockquote> git flow feature pull origin MYFEATURE </blockquote> <p>شما میتونید توسعه یک ویژگی رو از مبدا، با دستور زیر زیر نظر داشته باشید. <code> git flow feature track MYFEATURE</code></p> <p>You can track a feature on origin by using <code> git flow feature track MYFEATURE</code></p> </div> <div class="col-2"> <div class="feature-pull"></div> </div> </div> <div class="scrollblock"> <h2><a name="release" href="#release">ایجاد یک انتشار</a></h2> <ul> <li>تهیه پشتیبان از انتشار محصول جدید</li> <li>اجازه برای رفع باگهای جزیی و آماده کردن متا دیتا برای انتشار</li> </ul> <p class="divider">★ ★ ★</p> <div class="col-1"> <h3>شروع یک انتشار</h3> <p>برای استارت یک انتشار، دستور 'git flow release' را بکار ببرید. این دستور یک شاخه انتشار از روی شاخه 'develop' ایجاد میکند.</p> <blockquote> git flow release start RELEASE [BASE] </blockquote> <p>شما به صورت اختیاری میتوانید به جای <code>[BASE]</code> از کد sha-1 یک کامیت(ثبت) خود برای استارت انتشار از آنجا استفاده کنید. کامیت باید روی برنج 'develop' باشد.</p> <p class="divider">★ ★ ★</p> <p>بهتر است شاخه انتشار را پس از ایجاد منتشر کنید تا سایر توسعهدهنگان نیز بتوانند روی شاخه انتشار کامیت کنند. مشابه انتشار یک ویژگی با دستور زیر اینکار را انجام دهید:</p> <blockquote> git flow release publish RELEASE </blockquote> <p>شما میتونید انتشار ریموت را، با دستور زیر زیر نظر داشته باشید. <code>git flow release track RELEASE</code></p> </div> <div class="col-2"> <div class="release-start"></div> </div> </div> <div class="scrollblock"> <div class="col-1"> <h3>اتمام یک انتشار</h3> <p>اتمام یک انتشار، بخش بزرگی از برنچینگ و شاخهبندی گیت است، که باعث رخدادهای زیر میشود:</p> <ul> <li>شاخه انتشار را با شاخه 'master' ادغام میکند</li> <li>انتشار را با نامی که روی ان گذاشته شده، برجسب میزند!</li> <li>همجنین شاخه انتشار را با شاخه 'develop' ادغام میکند</li> <li>شاخه انتشار را حذف میکند</li> </ul> <blockquote> git flow release finish RELEASE </blockquote> <p>فراموش نکنید که برجسبهای(تگها) خود را پوش کنید! <code>git push --tags</code></p> </div> <div class="col-2"> <div class="release-end"></div> </div> </div> <div class="scrollblock"> <h2><a name="hotfixes" href="#hotfixes">اصلاحات</a></h2> <ul> <li>اصلاحیهها از ضرورت تغییر بلافاصله در یک نسخه محصول زنده(در دسترس کاربران و عموم) پس از یک وضعیت ناخواسته، حاصل می شود </li> <li>ممکن است شاخهبندی آنها از برجسبی که روی شاخه 'master' برای آن نسخه از محصول وجود دارد، باشد. </li> </ul> <p class="divider">★ ★ ★</p> <div class="col-1"> <h3>شروع یک اصلاحیه</h3> <p>مانند سایر دستورات گیت فلو، اصلاحها هم با دستور زیر شروع میشوند:</p> <blockquote> git flow hotfix start VERSION [BASENAME] </blockquote> <p>آرگومان ورژن برای نام انتشار اصلاح بکار میرود. که پیشنهاد میشود از یک نام پایه برای اینکار استفاده کنید.</p> </div> <div class="col-2"> <div class="hotfix-start"></div> </div> </div> <div class="scrollblock"> <div class="col-1"> <h3>اتمام یک اصلاح</h3> <p>با اتمام یک اصلاح، آن شاخه با شاخههای 'develop' و 'master' ادغام میشود. همچنین ادغام با شاخه 'master' با ورژن اصلاح برجسبگذاری میشود.</p> <blockquote> git flow hotfix finish VERSION </blockquote> </div> <div class="col-2"> <div class="hotfix-end"></div> </div> </div> <div> <div class="col-1"></div> <div class="col-2"> <div class="lines-close"></div> <div class="lines-small-end"></div> </div> </div> <div class="scrollblock"> <h2><a name="commands" href="#commands">دستورات</a></h2> <img src="img/git-flow-commands.png" alt="git-flow commands"/> </div> <div class="scrollblock"> <h2>جمعبندی</h2> <p class="divider">★ ★ ★</p> <ul> <li>در این نوشته فقط مهمترین دستورات بررسی شدهاند و همه دستورات تشریح نشدهاند.</li> <li>شما هنوز میتوانید از گیت و تمامی دستورات آن، همانطور که میدانید استفاده کنید. گیت فلو فقط یک مجموعه ابزار است. </li> <li>ویژگی 'support' هنوز در نسخه بتا قرار دارد، استفاده از آن پیشنهاد نمیشود.</li> <li>اگر دوست دارید ترجمه جدیدی ارائه دهید، خوشحال میشوم از آنها استفاده کنم.</li> </ul> <p class="divider">★ ★ ★</p> </div> </div> <footer> <div class="scrollblock"> <h2><a name="comments" href="#comments">نظرات کاربران</a></h2> <div id="disqus_thread"></div> </div> </footer> <script type="text/javascript"> /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ var disqus_shortname = 'gitflowcheatsheet'; // required: replace example with your forum shortname /* * * DON'T EDIT BELOW THIS LINE * * */ (function () { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); </script> <noscript>لطفا برای نمایش نظرات، جاوا اسکریپت را فعال نمایید <a href="http://disqus.com/?ref_noscript">نظرات، نیرو گرفته از Disqus.</a> </noscript> <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a> </body> </html>