-
1. شروع به کار
- 1.1 دربارهٔ کنترل نسخه
- 1.2 تاریخچهٔ کوتاهی از گیت
- 1.3 گیت چیست؟
- 1.4 خط فرمان
- 1.5 نصب گیت
- 1.6 اولین راهاندازی گیت
- 1.7 کمک گرفتن
- 1.8 خلاصه
-
2. مقدمات گیت
- 2.1 دستیابی به یک مخزن گیت
- 2.2 ثبت تغییرات در مخزن
- 2.3 دیدن تاریخچهٔ کامیتها
- 2.4 بازگردانی کارها
- 2.5 کار با ریموتها
- 2.6 برچسبگذاری
- 2.7 نامهای مستعار در گیت
- 2.8 خلاصه
-
3. شاخهسازی در گیت
- 3.1 شاخهها در یک کلمه
- 3.2 شاخهسازی و ادغام مقدماتی
- 3.3 مدیریت شاخه
- 3.4 روند کاری شاخهسازی
- 3.5 شاخههای ریموت
- 3.6 ریبیسکردن
- 3.7 خلاصه
-
4. گیت روی سرور
- 4.1 پروتکلها
- 4.2 راهاندازی گیت در سرور
- 4.3 ساختن کلید عمومی SSH
- 4.4 نصب و راهاندازی سرور
- 4.5 دیمن گیت
- 4.6 HTTP هوشمند
- 4.7 گیتوب
- 4.8 گیتلب
- 4.9 گزینههای شخصی ثالث میزبانی شده
- 4.10 خلاصه
-
5. گیت توزیعشده
- 5.1 روندهای کاری توزیعشده
- 5.2 مشارکت در یک پروژه
- 5.3 نگهداری یک پروژه
- 5.4 خلاصه
-
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. Customizing Git
- 8.1 Git Configuration
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Summary
-
9. Git and Other Systems
- 9.1 Git as a Client
- 9.2 Migrating to Git
- 9.3 Summary
-
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 Git in Visual Studio Code
- A1.4 Git in Eclipse
- A1.5 Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.6 Git in Sublime Text
- A1.7 Git in Bash
- A1.8 Git in Zsh
- A1.9 Git in PowerShell
- A1.10 Summary
-
A2. پیوست B: Embedding Git in your Applications
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
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
1.2 شروع به کار - تاریخچهٔ کوتاهی از گیت
تاریخچهٔ کوتاهی از گیت
مثل اکثر چیزهای عالی زندگی، گیت نیز با کمی تخریب خلاقانه و جنجالی آتشین شروع شد.
هسته لینوکس پروژهای متن-باز با حوزهٔ بسیار وسیعی است. برای سالها (۱۹۹۱ - ۲۰۰۲ میلادی) جهت نگهداری هسته لینوکس تغییرات به واسطه پچها و فایلهای آرشیو انتقال پیدا میکرد. در سال ۲۰۰۲ پروژه هسته لینوکس شروع به استفاده از DVCS اختصاصی با نام BitKeeper کرد.
در سال ۲۰۰۵ رابطهٔ بین جامعهای که هسته لینوکس را توسعه میداد و شرکت تجاری که BitKeeper را توسعه میداد بهم خورد و رایگان بودن آن برنامه فسخ شد. این به جامعهٔ توسعهدهنده لینوکس (و به خصوص لینوس توروالدز، خالق لینوکس) هشداری داد تا ابزار خود را، بر اساس درسهایی که پیشتر با استفاده از BitKeeper گرفته بودند، توسعه دهند. چندی از خواستههای سیستم جدید عبارت بودند از:
-
سرعت
-
طراحی ساده
-
پشتیبانی قوی از توسعه غیرخطی (هزاران شاخه موازی)
-
کاملاً توزیعشده
-
قابلیت کنترل بهینه پروژههای بزرگ همانند هسته لینوکس (از نظر سرعت و اندازه داده)
از زمان تولد گیت در سال ۲۰۰۵، این نرمافزار برای ساده بودن و سهولت استفاده تکامل پیدا کرده و به بلوغ رسیده و هنوز این استانداردهای اولیه را حفظ میکند. این نرمافزار خارقالعاده سریع، در مواجه با پروژههای بزرگ بسیار بهینه و حاوی سیستم انشعابی باورنکردنی برای توسعه غیرخطی است (مراجعه به شاخهسازی در گیت).