mirror of
https://github.com/danielkummer/git-flow-cheatsheet.git
synced 2024-11-21 15:33:13 +01:00
424 lines
20 KiB
HTML
424 lines
20 KiB
HTML
<!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=Vazirmatn' 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="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href='https://fonts.googleapis.com/css?family=Vazirmatn' rel='stylesheet' type='text/css'>
|
|
<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>
|
|
<br>
|
|
<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>گیت فلو یک راهکار بر اساس ادغام (merge based) است و شاخههای feature (ویژگی، قابلیت) را بازسازی (rebase)
|
|
نمیکند.
|
|
</li>
|
|
</ul>
|
|
<p class="divider">★ ★ ★</p>
|
|
</div>
|
|
|
|
|
|
<div class="scrollblock">
|
|
<h2><a name="setup" href="#setup">نصب و راهاندازی</a></h2>
|
|
<ul>
|
|
<li>برای نصب git-flow ابتدا لازم است git روی سیستم شما نصب باشد.</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>شما باید چندین سوال را برای تعیین نامگذاری شاخههای (branches) خود پاسخ دهید. پیشنهاد میشود از مقادیر
|
|
پیشفرض برای این کار استفاده کنید. </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>
|
|
</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>
|