راهنمای git-flow

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

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

translations: English - Castellano - Português Brasileiro - 繁體中文(Traditional Chinese) - 简体中文(Simplified Chinese) - 日本語 - Türkçe - 한국어(Korean) - Français - 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

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

اصلاحات

★ ★ ★

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

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

git flow hotfix start VERSION [BASENAME]

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

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

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

git flow hotfix finish VERSION

دستورات

git-flow commands

جمع‌بندی

★ ★ ★

★ ★ ★

comments powered by Disqus