راهنمای git-flow

ایجاد شده توسط دانیل کامر
حساب تویتر

شاخه‌بندی بهینه با git-flow توسط وینسنت دریسن

translations: English - Castellano - Português Brasileiro - 繁體中文(Traditional Chinese) - 简体中文(Simplified Chinese) - 日本語 - Türkçe - 한국어(Korean) - Français - Magyar(Hungarian) - Italiano - Nederlands - Русский (Russian) - Deutsch (German) - Català (Catalan) - Română (Romanian) - Ελληνικά (Greek) - Українська (Ukrainian) - Tiếng Việt (Vietnamese) - Polski - العربية - فارسی - Lietuviškai (Lithuanian) - Azərbaycanca (Azerbaijani) Bahasa Indonesia

درباره

git-flow مجموعه‌ای از تعمیم‌های گیت برای ساده سازی عملیات سطح بالا روی مخازن با مدل شاخه‌بندی وینسنت دریسن است. بیشتر

★ ★ ★

این برگه تقلب، استفاده‌های پایه و تاثیر عملیات git-flow را نشان می‌دهد.

★ ★ ★

راهنمایی‌های اولیه

  • گیت فلو راهنمایی‌های خوبی در مورد دستورات و خروجی آن‌ها فراهم می‌کند. مطالب را با دقت مطالعه کنید تا ببنید چه اتفاقی دارد می‌افتد...
  • برای کاربران OSX یا ویندوز Sourcetree یک ابزار عالی است که محیط گرافیکی دارد و از git-flow پشتیبانی می‌کند.
  • گیت فلو یک راهکار بر اساس ادغام (merge based) است و شاخه‌های feature (ویژگی، قابلیت) را بازسازی (rebase) نمی‌کند.

★ ★ ★

نصب و راه‌اندازی

  • برای نصب git-flow ابتدا لازم است git روی سیستم شما نصب باشد.
  • گیت فلو، روی OSX، لینوکس و ویندوز قابل استفاده است.

★ ★ ★

برای OSX

Homebrew استفاده از ابزار
$ brew install git-flow-avh
Macports استفاده از ابزار
$ port install git-flow-avh

لینوکس

$ apt-get install git-flow

ویندوز (ابزار Cygwin)

$ wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bash

شما دو ابزار wget و util-linux را برای نصب git-flow نیاز دارید.

برای دانستن جزییات بیشتر در مورد نصب گیت فلو، لطفا از ویکی پیج گیت فلو بازدید کنید.

install git-flow

شروع کار

در ابتدا نیاز است گیت فلو برای اعمال تغییرات روی پروژه شما آغاز (مقداردهی اولیه) شود.

★ ★ ★

آغاز

استفاده از گیت فلو را با دستور زیر در یک مخزن گیت -که از قبل ایجاد شده و وجود دارد- آغاز کنید.

git flow init

شما باید چندین سوال را برای تعیین نام‌گذاری شاخه‌های (branches) خود پاسخ دهید. پیشنهاد می‌شود از مقادیر پیشفرض برای این کار استفاده کنید.

ویژگی‌ها

  • برای عرضه بعدی یک ویژگی جدید توسعه دهید!
  • به طور معمول فقط در مخازن توسعه‌دهندگان موجود هستند!

★ ★ ★

آغاز ایجاد یک ویژگی جدید

توسعه ویژگی‌های جدید که از شاخه 'develop' آغاز می‌شوند!

توسعه یک ویژگی جدید را با دستور زیر شروع کنید

git flow feature start MYFEATURE

این دستور بر اساس شاخه 'develop' ویژگی جدیدی را می‌سازد و به صورت خودکار روی آن جابجا می‌شود.

اتمام ویژگی

توسعه یک ویژگی را به پایان می‌رساند، این دستور نتایج زیر را خواهد داشت:

  • MYFEATURE را با شاخه 'develop' ادغام می‌کند.
  • شاخه ویژگی را حذف می‌کند.
  • دوباره به شاخه‌ی 'develop' برمی‌گردد.
git flow feature finish MYFEATURE

انتشار یک ویژگی

آیا شما در حال توسعه‌ی یک ویژگی در یک پروژه مشارکتی هستید؟
ویژگی را روی ریموت سرور منتشر کنید تا برای سایر اعضا قابل استفاده باشد.

git flow feature publish MYFEATURE

دریافت ویژگی‌های منتشر شده

قابلیتی را که عضو دیگری منتشر کرده است را دریافت کنید.

git flow feature pull origin MYFEATURE

شما می‌توانید توسعه یک ویژگی رو از مبدا، با دستور زیر، زیر نظر داشته باشید. git flow feature track MYFEATURE

ایجاد یک انتشار

  • تهیه‌ی پشتیبان از انتشار محصول جدید
  • اجازه برای رفع باگ‌های جزئی و آماده کردن متا دیتا‌ها برای انتشار

★ ★ ★

شروع یک انتشار

برای استارت یک انتشار، دستور 'git flow release' را بکار ببرید. این دستور یک شاخه انتشار از روی شاخه 'develop' ایجاد می‌کند.

git flow release start RELEASE [BASE]

شما به صورت اختیاری می‌توانید به جای [BASE] از کد sha-1 یک کامیت (ثبت تغییرات) خود برای استارت انتشار از آنجا استفاده کنید. کامیت باید روی برنج 'develop' باشد.

★ ★ ★

بهتر است شاخه انتشار را پس از ایجاد منتشر کنید تا سایر توسعه‌دهنگان نیز بتوانند روی شاخه انتشار کامیت کنند. مشابه انتشار یک ویژگی با دستور زیر اینکار را انجام دهید:

git flow release publish RELEASE

شما می‌توانید انتشار ریموت را، با دستور زیر، زیر نظر داشته باشید. git flow release track RELEASE

اتمام یک انتشار

اتمام یک انتشار، بخش بزرگی از برنچینگ و شاخه‌بندی گیت است، که باعث رخدادهای زیر می‌شود:

  • شاخه انتشار را با شاخه 'master' ادغام می‌کند.
  • انتشار را با نامی که روی آن گذاشته شده، برجسب می‌زند!
  • همجنین شاخه انتشار را با شاخه 'develop' ادغام می‌کند.
  • شاخه انتشار را حذف می‌کند.
git flow release finish RELEASE

فراموش نکنید که برجسب‌های(تگ‌ها) خود را پوش کنید! git push --tags

اصلاحات

  • اصلاحیه‌ها از ضرورت تغییر فوری، در یک نسخه محصول درحال اجرا (در دسترس کاربران و عموم)، پس از یک بروز یک وضعیت ناخواسته، حاصل می شود.
  • ممکن است شاخه‌بندی آن‌ها از برجسبی که روی شاخه 'master' برای آن نسخه از محصول وجود دارد، باشد.

★ ★ ★

شروع یک اصلاحیه

مانند سایر دستورات گیت فلو، اصلاح‌ها هم با دستور زیر شروع می‌شوند:

git flow hotfix start VERSION [BASENAME]

متغیر ورژن برای نامگذاری انتشار اصلاح، بکار‌ می‌رود که پیشنهاد می‌شود از یک نام پایه برای این‌ کار استفاده کنید.

اتمام یک اصلاح

با اتمام یک اصلاح، آن شاخه با شاخه‌های 'develop' و 'master' ادغام می‌شود. همچنین ادغام با شاخه 'master' با ورژن اصلاح برجسب‌گذاری می‌شود.

git flow hotfix finish VERSION

دستورات

git-flow commands

جمع‌بندی

★ ★ ★

  • در این نوشته فقط مهمترین دستورات بررسی شده‌اند و همه دستورات تشریح نشده‌اند.
  • شما هنوز می‌توانید از گیت و تمامی دستورات آن، همانطور که می‌دانید استفاده کنید، گیت فلو فقط یک مجموعه ابزار است.
  • ویژگی 'support' هنوز در نسخه بتا قرار دارد، استفاده از آن پیشنهاد نمی‌شود.
  • اگر دوست دارید ترجمه جدیدی ارائه‌ دهید، خوشحال می‌شوم از آن‌ها استفاده کنم.

★ ★ ★

لطفا برای نمایش نظرات، جاوا اسکریپت را فعال نمایید نظرات، نیرو گرفته از Disqus. comments powered by Disqus

AltStyle によって変換されたページ (->オリジナル) /