-
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. Git on the Server
- 4.1 The Protocols
- 4.2 Getting Git on a Server
- 4.3 Generating Your SSH Public Key
- 4.4 Setting Up the Server
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Third Party Hosted Options
- 4.10 Summary
-
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. Appendix 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. Appendix 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. Appendix 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 شروع به کار - نصب گیت
نصب گیت
پیش از اینکه بتوانید از گیت استفاده کنید باید آن را نصب کنید. حتی اگر هم اکنون گیت را نصب شده دارید بهتر است که آن را به آخرین نسخه بروز کنید. شما می توان گیت را به عنوان یک بسته یا توسط نصاب دیگری نصب کنید و یا حتی سورس آن را دانلود کرده و خودتان کامپایل نمایید.
Note
|
این کتاب با نگارش 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 قرار داده شده است.

همچنین شما میتوانید به عنوان بخشی از نرمافزار گیتهاب برای مک گیت را نصب کنید. ابزار رابط گرافیکی گیت آنها گزینهای دارد که به شما اجازه نصب ابزارهای خط فرمان را نیز میدهد. شما می توانید آن ابزار را از سایت گیتهاب برای مک به آدرس 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
Note
|
کاربران 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