-
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 in Visual Studio)
- A1.3 گیت در Visual Studio Code (Git in Visual Studio Code)
- A1.4 گیت در IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine (Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine)
- A1.5 گیت در Sublime Text (Git in Sublime Text)
- A1.6 گیت در بش (Git in Bash)
- A1.7 گیت در Zsh (Git in Zsh)
- A1.8 گیت در 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)
A3.6 پیوست C: دستورات گیت (Git Commands) - بازرسی و مقایسه (Inspection and Comparison)
بازرسی و مقایسه (Inspection and Comparison)
نمایش اطلاعات اشیاء گیت (git show)
دستور git show میتواند یک شیء Git را بهصورت ساده و قابل خواندن برای انسان نمایش دهد. معمولاً از این دستور برای نشاندادن اطلاعات یک تگ یا یک commit استفاده میکنید.
ما ابتدا از آن برای نمایش اطلاعات تگهای Annotated در تگهای حاشیهگذاریشده (Annotated Tags) استفاده میکنیم.
بعداً در انتخاب بازبینی (Revision Selection) بهطور زیاد از آن استفاده میکنیم تا commitهایی را که انتخابهای مختلف بازبینی (revision selections) به آنها اشاره میکنند نشان دهیم.
یکی از کارهای جالبی که با git show انجام میدهیم در ادغام مجدد دستی فایلها (Manual File Re-merging) است: استخراج محتویات فایلهای مشخص از مراحل مختلف در طول یک برخورد ادغام (merge conflict).
خلاصه تاریخچه گیت (git shortlog)
دستور git shortlog برای خلاصهسازی خروجی git log استفاده میشود. این دستور بسیاری از همان گزینههایی را میپذیرد که git log میپذیرد، اما بهجای فهرستکردن تکتک کامیتها، خلاصهای از کامیتها را بهصورت گروهبندیشده بر اساس نویسنده ارائه میدهد.
نحوهی استفاده از آن برای ساخت یک changelog مرتب را در گزارش کوتاه (The Shortlog) نشان دادیم.
توضیح نسخه یا نقطه مرجع (git describe)
دستور git describe برای دریافت هر چیزی که به یک کامیت اشاره میکند و تولید رشتهای نسبتاً خوانا برای انسان و پایدار (تغییرنکردنی) استفاده میشود. این روش راهی است برای توصیف یک کامیت که بهاندازهی SHA-1 کامیت بیابهام باشد اما قابلفهمتر باشد.
ما از git describe در تولید شماره ساخت (Generating a Build Number) و آمادهسازی نسخه انتشار (Preparing a Release) استفاده میکنیم تا رشتهای برای نامگذاری فایل انتشارمان بهدست آوریم.