-
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.5 شروع به کار - نصب گیت
نصب گیت
پیش از اینکه بتوانید از گیت استفاده کنید باید آن را نصب کنید. حتی اگر هم اکنون گیت را نصب شده دارید بهتر است که آن را به آخرین نسخه بروز کنید. شما میتوانید گیت را به عنوان یک بسته یا توسط نصاب دیگری نصب کنید و یا حتی سورس آن را دانلود کرده و خودتان کامپایل نمایید.
یادداشت
|
این کتاب با نگارش 2.8.0 از گیت نوشته شده است. اگرچه بیشتر دستوراتی که ما بکار میبریم باید در نسخههای پیشین نیز جوابگو باشد، شاید برخی از آنها با کمی تغییر همراه باشند یا حتی از کار افتاده باشند. از آنجایی که گیت در سازگاری با نسخههای پیشین خود بسیار خوب عمل میکند، نسخههای بعد از 2.8 نیز باید این دستورات را پشتیبانی کنند. |
نصب بر روی لینوکس
اگر به واسطه یک نصاب اجرایی قصد نصب ابزارهای پایه گیت را روی لینوکس دارید، به طور عمومی باید بتوانید به وسیله پکیجمنیجری که با توزیعتان همراه است این کار را انجام دهید.
به طور مثال اگر توزیع شما فدورا است (یا هر توریع RPM-پایه دیگری مثل RHEL و یا CentOS)، میتوانید از dnf
استفاده کنید:
$ sudo dnf install git-all
یا اگر در حال استفاده از توزیع دبیان-پایهای مثل اوبونتو هستید میتوانید apt
را امتحان کنید:
$ sudo apt install git-all
برای گزینههای بیشتر میتوانید دستورات نصب روی توزیعهای مختلف یونیکس را روی سایت گیت به نشانی http://git-scm.com/download/linux پیدا کنید.
نصب روی مک
راههای زیادی برای نصب گیت روی مک وجود دارد. شاید سادهترین راه نصب ابزارهای خط فرمان Xcode باشد. در نسخهٔ Mavericks (10.9) و یا نسخههای بالاتر به راحتی با اجرای git از خط فرمان میتوان این کار را کرد.
$ git --version
اگر گیت را نصب نداشته باشید، مراحل نصب پیش روی شما آورده میشود.
اگر نسخههای بروزتری را برای نصب نیاز داشته باشید می توان از طریق نصاب اجرایی این کار را انجام دهید. یک نصاب گیت برای سیستمعامل مک توسعه پیدا کرده و در وبسایت گیت به آدرس https://git-scm.com/download/mac قرار داده شده است.
![Git macOS installer.](png/git-osx-installer.png)
همچنین شما میتوانید گیت را به عنوان بخشی از نرمافزار گیتهاب برای مک نصب کنید. ابزار رابط گرافیکی گیت آنها گزینهای دارد که به شما اجازه نصب ابزارهای خط فرمان را نیز میدهد. شما میتوانید آن ابزار را از سایت گیتهاب برای مک به آدرس https://desktop.github.com دانلود کنید.
نصب روی ویندوز
همچنین چند راه برای نصب گیت روی ویندوز وجود دارد. رسمیترین نسخه روی وبسایت گیت برای دانلود موجود است. کافیست به http://git-scm.com/download/win مراجه کنید و دانلود شما به طور خودکار شروع میشود. به خاطر داشته باشید که این یک پروژه به نام گیت برای ویندوز است که از خود گیت جداست؛ برای اطلاعات بیشتر در این باره به https://gitforwindows.org مراجعه کنید.
برای یک نصب تمام خودکار میتوانید از پکیج گیت چوکو استفاده کنید. توجه داشته باشید که پکیج چوکو توسط جامعه توسعه پیدا میکند.
روش آسان دیگری که میتوانید گیت را نصب کنید با استفاده گیتهاب دسکتاپ است. این نصاب یک نسخه خط فرمانی از گیت را هم در کنار رابط گرافیکی شامل میشود. بعلاوه با Powershell به خوبی کار میکند و کش گواهی (Credential) و تنظیمات CRLF را به درستی پیادهسازی میکند. درباره این مباحث کمی بعدتر میآموزیم ولی پیش از آن فقط کافیست که بدانید که اینها مواردی هستند که میخواهید داشته باشید. شما میتوانید این نصاب را از وبسایت گیتهاب دسکتاپ دانلود کنید.
نصب از سورس
در عین حال شماری از مردم نصب گیت از سورس کد را مفید میدانند، چراکه ازین طریق جدیدترین نسخه را خواهید گرفت. نصابهای اجرایی غالباً کمی عقبتر میماند؛ اگرچه گیت در سالهای اخیر بالغ شده است و این اختلاف نسخه کمتر تفاوت فاحشی ایجاد خواهد کرد.
اگر میخواهید که گیت را از سورس نصب کنید، کتابخانههای روبرو را که گیت به آنها وابستگی (Dependency) دارد را لازم دارید: autotools، curl، zlib، openssl، expat و libiconv.
برای مثال اگر روی سیستمی کار میکنید که dnf
را دارد (مثل فدورا) یا apt-get
(مثل یک سیستم دیبان-پایه)، وارد کنید:
$ sudo dnf install dh-autoreconf curl-devel expat-devel gettext-devel \
openssl-devel perl-devel zlib-devel
$ sudo apt-get install dh-autoreconf libcurl4-gnutls-dev libexpat1-dev \
gettext libz-dev libssl-dev
پیش از اینکه قادر باشید که پروندههای با قالبهای مختلف را اضافه کنید (doc، html، info) باید این وابستگیها را هم داشته باشید.
$ sudo dnf install asciidoc xmlto docbook2X
$ sudo apt-get install asciidoc xmlto docbook2x
یادداشت
|
کاربران RHEL و مشتقات RHEL مثل CentOS و ساینتیفیک لینوکس برای دانلود بسته |
اگر از یک توزیع دبیان-پایه (دبیان/اوبونتو/مشتقات اوبونتو) استفاده میکنید، بسته install-info
را نیز احتیاج دارید:
$ sudo apt-get install install-info
اگر از یک توزیع RPM-پایه (فدورا/RHEL/مشتقات RHEL) استفاده میکنید، بسته getopt
را نیز احتیاج دارید (که از قبل روی توزیعهای دبیان-پایه وجود دارد):
$ sudo dnf install getopt
علاوه بر این، اگر شما از فدورا/RHEL/مشتقات RHEL استفاده میکنید به علت تفاوت نام فایلهای اجرایی باید دستور زیر را نیز وارد کنید.
$ sudo ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
هنگامی که تمام وابستگیهای لازم را حل کرده بودید میتوانید ادامه داده و آخرین تاربالی که برچسب release خورده را از جاهای مختلف تهیه کنید. شما میتوانید آنرا از سایت kernel.org به آدرس https://www.kernel.org/pub/software/scm/git یا از یکی از آینههای وبسایت گیتهاب در https://github.com/git/git/releases دریافت کنید. به طور کل در صفحه گیتهاب مشخصتر است که آخرین نسخه چیست لکن اگر مایلید برای دانلودتان امضاهای نسخههای ارائه شده را بررسی کنید صفحه kernel.org آنرا هم شامل میشود.
پس از این مرحله، کامپایل و نصب کنید:
$ tar -zxf git-2.8.0.tar.gz
$ cd git-2.8.0
$ make configure
$ ./configure --prefix=/usr
$ make all doc info
$ sudo make install install-doc install-html install-info
پس از اینکه تمام شد میتوانید گیت را با خود گیت آپدیت کنید:
$ git clone git://git.kernel.org/pub/scm/git/git.git