-
1. شروع به کار (getting started)
-
2. مقدمات گیت (git basics chapter)
- 2.1 گرفتن یک مخزن گیت (Getting a Git Repository)
- 2.2 ثبت تغییرات در مخزن (Recording Changes to the Repository)
- 2.3 مشاهده تاریخچه کامیتها (Viewing the Commit History)
- 2.4 بازگرداندن تغییرات (Undoing Things)
- 2.5 کار کردن با ریموت ها (Working with Remotes)
- 2.6 تگ کردن (Tagging)
- 2.7 نام مستعار گیت (Git Aliases)
- 2.8 خلاصه (summary)
-
3. انشعابگیری در گیت (Git Branching)
-
4. گیت روی سرور (Git on the server)
- 4.1 پروتکلها (The Protocols)
- 4.2 راهاندازی گیت روی یک سرور (Getting Git on a Server)
- 4.3 ایجاد کلید عمومی SSH شما (Generating Your SSH Public Key)
- 4.4 نصب و راهاندازی سرور (Setting up server)
- 4.5 سرویسدهنده گیت (Git Daemon)
- 4.6 HTTP هوشمند (Smart HTTP)
- 4.7 گیتوب (GitWeb)
- 4.8 گیتلب (GitLab)
- 4.9 گزینههای میزبانی شخص ثالث (Third Party Hosted Options)
- 4.10 خلاصه (Summary)
-
5. گیت توزیعشده (Distributed git)
-
6. GitHub (گیت هاب)
-
7. ابزارهای گیت (Git Tools)
- 7.1 انتخاب بازبینی (Revision Selection)
- 7.2 مرحلهبندی تعاملی (Interactive Staging)
- 7.3 ذخیره موقت و پاکسازی (Stashing and Cleaning)
- 7.4 Signing Your Work (امضای کارهای شما)
- 7.5 جستجو (Searching)
- 7.6 بازنویسی تاریخچه (Rewriting History)
- 7.7 بازنشانی به زبان ساده (Reset Demystified)
- 7.8 ادغام پیشرفته (Advanced Merging)
- 7.9 بازاستفاده خودکار از حل تضادها (Rerere)
- 7.10 اشکالزدایی با گیت (Debugging with Git)
- 7.11 سابماژول ها (Submodules)
- 7.12 بستهبندی (Bundling)
- 7.13 جایگزینی (Replace)
- 7.14 ذخیرهسازی اطلاعات ورود (Credential Storage)
- 7.15 خلاصه (Summary)
-
8. سفارشیسازی Git (Customizing Git)
-
9. گیت و سیستمهای دیگر (Git and Other Systems)
-
10. (Git Internals)
- 10.1 ابزارها و دستورات سطح پایین (Plumbing and Porcelain)
- 10.2 اشیا گیت (Git Objects)
- 10.3 مراجع گیت (Git References)
- 10.4 فایلهای بسته (Packfiles)
- 10.5 نگاشت (The Refspec)
- 10.6 پروتکلهای انتقال (Transfer Protocols)
- 10.7 نگهداری و بازیابی دادهها (Maintenance and Data Recovery)
- 10.8 متغیرهای محیطی (Environment Variables)
- 10.9 (Summary)
-
A1. پیوست A: گیت در محیطهای دیگر (Git in Other Environments)
- A1.1 رابط های گرافیکی (Graphical Interfaces)
- A1.2 Git در ویژوال استودیو (Git in Visual Studio)
- A1.3 Git در Visual Studio Code (Git in Visual Studio Code)
- A1.4 Git در IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine (Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine)
- A1.5 Git در Sublime Text (Git in Sublime Text)
- A1.6 گیت در بش (Git in Bash)
- A1.7 Git در Zsh (Git in Zsh)
- A1.8 Git در PowerShell (Git in PowerShell)
- A1.9 خلاصه (Summary)
-
A2. پیوست B: گنجاندن گیت در برنامههای شما (Embedding Git in your Applications)
-
A3. پیوست C: دستورات گیت (Git Commands)
- A3.1 تنظیم و پیکربندی (Setup and Config)
- A3.2 گرفتن و ایجاد پروژهها (Getting and Creating Projects)
- A3.3 نمونهبرداری پایهای (Basic Snapshotting)
- A3.4 انشعابگیری و ادغام (Branching and Merging)
- A3.5 بهاشتراکگذاری و بهروزرسانی پروژهها (Sharing and Updating Projects)
- A3.6 بازرسی و مقایسه (Inspection and Comparison)
- A3.7 عیبیابی (Debugging)
- A3.8 اعمال تغییرات به صورت پچ (Patching)
- A3.9 ایمیل (Email)
- A3.10 سیستمهای خارجی (External Systems)
- A3.11 مدیریت (Administration)
- A3.12 دستورات سطح پایین گیت (Plumbing Commands)
6.4 GitHub (گیت هاب) - مدیریت یک سازمان (Managing an organization)
مدیریت یک سازمان (Managing an organization)
علاوه بر حسابهای کاربری تکنفره، گیتهاب چیزی به نام سازمانها دارد. مانند حسابهای شخصی، حسابهای سازمانی یک فضای نام دارند که همه پروژههایشان در آن قرار دارد، اما بسیاری از جنبههای دیگر متفاوت است. این حسابها نماینده گروهی از افراد با مالکیت مشترک پروژهها هستند و ابزارهای زیادی برای مدیریت زیرگروههای این افراد وجود دارد. معمولاً این حسابها برای گروههای متنباز (مانند “perl” یا “rails”) یا شرکتها (مانند “google” یا “twitter”) استفاده میشوند.
اصول اولیه سازمان (organization basics)
ایجاد یک سازمان بسیار آسان است؛ کافی است روی آیکون “+” در بالا و سمت راست هر صفحه گیتهاب کلیک کنید و از منو گزینه “New organization” را انتخاب کنید.

ابتدا باید نام سازمان خود را انتخاب کنید و یک آدرس ایمیل برای نقطه تماس اصلی گروه وارد نمایید. سپس میتوانید در صورت تمایل دیگر کاربران را به عنوان هممالک حساب دعوت کنید.
با دنبال کردن این مراحل به زودی مالک یک سازمان کاملاً جدید خواهید بود. مانند حسابهای شخصی، سازمانها رایگان هستند اگر همه چیزهایی که قصد دارید در آنها نگهداری کنید متنباز باشند.
به عنوان مالک یک سازمان، وقتی مخزنی را فورک میکنید، میتوانید انتخاب کنید که آن را به فضای نام سازمان خود فورک کنید. وقتی مخازن جدید ایجاد میکنید، میتوانید آنها را یا تحت حساب شخصی خود یا تحت هر یک از سازمانهایی که مالک آن هستید بسازید. همچنین به طور خودکار هر مخزن جدیدی که تحت این سازمانها ایجاد شود را “watch” میکنید.
دقیقاً مانند آواتار شما (Your Avatar)، میتوانید یک آواتار برای سازمان خود آپلود کنید تا کمی آن را شخصیسازی کنید. همچنین مانند حسابهای شخصی، یک صفحه فرود برای سازمان دارید که تمام مخازن شما را فهرست میکند و دیگران میتوانند آن را مشاهده کنند.
حال بیایید برخی از ویژگیهایی که در حساب سازمانی کمی متفاوت هستند را بررسی کنیم.
تیم ها (Teams)
سازمانها از طریق تیمها با افراد مرتبط میشوند، که در واقع گروهبندی حسابهای کاربری فردی و مخازن درون سازمان و نوع دسترسی آن افراد به آن مخازن است.
برای مثال، فرض کنید شرکت شما سه مخزن دارد: frontend
، backend
و deployscripts
.
شما میخواهید توسعهدهندگان HTML/CSS/JavaScript به frontend
و شاید backend
دسترسی داشته باشند، و تیم عملیات به backend
و deployscripts
دسترسی داشته باشند.
تیمها این کار را ساده میکنند، بدون اینکه مجبور باشید مشارکتکنندگان هر مخزن را به صورت جداگانه مدیریت کنید.
صفحه سازمان یک داشبورد ساده از تمام مخازن، کاربران و تیمهایی که زیر این سازمان هستند را به شما نشان میدهد.

برای مدیریت تیمهای خود، میتوانید در صفحه The Organization page روی نوار کناری تیمها در سمت راست صفحه کلیک کنید. این شما را به صفحهای میبرد که میتوانید اعضا را به تیم اضافه کنید، مخازن را به تیم اضافه کنید یا تنظیمات و سطوح دسترسی تیم را مدیریت کنید. هر تیم میتواند دسترسی فقط خواندنی، خواندن/نوشتن یا دسترسی مدیریتی به مخازن داشته باشد. میتوانید این سطح را با کلیک روی دکمه “Settings” در The Team page تغییر دهید.

وقتی کسی را به تیم دعوت میکنید، ایمیلی دریافت میکند که اطلاع میدهد دعوت شده است.
علاوه بر این، اشاره به تیمها با @mention
(مانند @acmecorp/frontend
) تقریباً همانند اشاره به کاربران فردی عمل میکند، با این تفاوت که تمام اعضای تیم در آن بحث عضو میشوند.
این ویژگی زمانی مفید است که میخواهید توجه کسی از تیم را جلب کنید ولی دقیقاً نمیدانید از چه کسی باید سؤال کنید.
یک کاربر میتواند عضو هر تعداد تیم باشد، پس خود را محدود به تیمهای صرفاً کنترل دسترسی نکنید.
تیمهای علاقهمند خاص مانند ux
، css
یا refactoring
برای نوع خاصی از سوالات مفید هستند و تیمهایی مانند legal
و colorblind
برای موضوعات کاملاً متفاوت کاربرد دارند.
گزارش بازرسی (Audit Log)
سازمانها همچنین به مالکین دسترسی به تمام اطلاعات مربوط به اتفاقاتی که در سازمان رخ داده را میدهند. میتوانید به تب 'Audit Log' بروید و ببینید چه رویدادهایی در سطح سازمان اتفاق افتاده، چه کسی آنها را انجام داده و در کجا در جهان انجام شدهاند.

همچنین میتوانید بر اساس نوع خاصی از رویدادها، مکانهای خاص یا افراد خاص فیلتر کنید.