-
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)
A3.11 پیوست C: دستورات گیت (Git Commands) - مدیریت (Administration)
مدیریت (Administration)
اگر شما مدیریت یک مخزن گیت را بر عهده دارید یا نیاز دارید چیزی را بهصورت گستردهای اصلاح کنید، گیت تعدادی دستور مدیریتی ارائه میدهد تا به شما کمک کند.
پاکسازی و بهینهسازی مخزن (git gc)
دستور git gc
عملیات "جمعآوری زباله" را روی مخزن شما اجرا میکند، فایلهای غیرضروری در پایگاه داده را حذف کرده و فایلهای باقیمانده را در قالبی کارآمدتر بستهبندی میکند.
این دستور معمولاً بهصورت پسزمینه برای شما اجرا میشود، گرچه در صورت تمایل میتوانید آن را بهصورت دستی اجرا کنید. برخی مثالها از این را در نگهداری (Maintenance) مرور میکنیم.
بررسی صحت مخزن (git fsck)
دستور git fsck برای بررسی پایگاه داده داخلی بهمنظور یافتن مشکلات یا ناسازگاریها استفاده میشود.
ما فقط یکبار بهسرعت از آن در بازیابی دادهها (Data Recovery) برای جستوجوی اشیاء آویزان استفاده میکنیم.
نمایش تاریخچه رفرنسها (git reflog)
دستور git reflog از طریق یک لاگ از مکانهایی که همهٔ سرشاخههای شاخههایتان در طول کار بودهاند عبور میکند تا کامیتهایی را که ممکن است در اثر بازنویسی تاریخچه از دست داده باشید پیدا کند.
ما این دستور را عمدتاً در نامهای کوتاه RefLog (RefLog Shortnames) پوشش میدهیم، جایی که استفاده معمولی از آن را نشان میدهیم و چگونه میتوان با استفاده از git log -g
همان اطلاعات را به صورت خروجی git log
مشاهده کرد.
همچنین یک مثال عملی برای بازیابی چنین شاخهٔ گمشدهای را در بازیابی دادهها (Data Recovery) بررسی میکنیم.
بازنویسی تاریخچه مخزن (git filter-branch)
دستور git filter-branch
برای بازنویسی تعداد زیادی کمیتها بر اساس الگوهای معین استفاده میشود، مانند حذف یک فایل از همهٔ تاریخچه یا فیلتر کردن کل مخزن به زیرشاخهای واحد برای استخراج یک پروژه.
در حذف یک فایل از همه کامیتها (Removing a File from Every Commit) دستور را توضیح میدهیم و چندین گزینهٔ مختلف مانند --commit-filter
، --subdirectory-filter
و --tree-filter
را بررسی میکنیم.
در ابزار گیت برای تعامل با Perforce (Git-p4) از آن برای اصلاح مخازن خارجی واردشده استفاده میکنیم.