درباره
git-flow مجموعهای از تعمیمهای گیت برای ساده سازی عملیات سطح بالا روی مخازن با مدل شاخهبندی وینسنت دریسن است. بیشتر
★ ★ ★
این برگه تقلب، استفادههای پایه و تاثیر عملیات git-flow را نشان میدهد.
★ ★ ★
راهنماییهای اولیه
- گیت فلو راهنماییهای خوبی در مورد دستورات و خروجی آنها فراهم میکند. مطالب را با دقت مطالعه کنید تا ببنید چه اتفاقی دارد میافتد...
- برای کاربران OSX یا ویندوز Sourcetree یک ابزار عالی است که محیط گرافیکی دارد و از git-flow پشتیبانی میکند.
- گیت فلو یک راهکار بر اساس ادغام (merge based) است و شاخههای feature (ویژگی، قابلیت) را بازسازی (rebase) نمیکند.
★ ★ ★
نصب و راهاندازی
- برای نصب git-flow ابتدا لازم است git روی سیستم شما نصب باشد.
- گیت فلو، روی OSX، لینوکس و ویندوز قابل استفاده است.
★ ★ ★
برای OSX
Homebrew استفاده از ابزار$ brew install git-flow-avhMacports استفاده از ابزار
$ 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 نیاز دارید.
برای دانستن جزییات بیشتر در مورد نصب گیت فلو، لطفا از ویکی پیج گیت فلو بازدید کنید.
شروع کار
در ابتدا نیاز است گیت فلو برای اعمال تغییرات روی پروژه شما آغاز (مقداردهی اولیه) شود.
★ ★ ★
آغاز
استفاده از گیت فلو را با دستور زیر در یک مخزن گیت -که از قبل ایجاد شده و وجود دارد- آغاز کنید.
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
جمعبندی
★ ★ ★
- در این نوشته فقط مهمترین دستورات بررسی شدهاند و همه دستورات تشریح نشدهاند.
- شما هنوز میتوانید از گیت و تمامی دستورات آن، همانطور که میدانید استفاده کنید، گیت فلو فقط یک مجموعه ابزار است.
- ویژگی 'support' هنوز در نسخه بتا قرار دارد، استفاده از آن پیشنهاد نمیشود.
- اگر دوست دارید ترجمه جدیدی ارائه دهید، خوشحال میشوم از آنها استفاده کنم.
★ ★ ★