-
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)
1.5 شروع به کار (getting started) - ستاپ اولیه گیت (First-Time Git Setup)
ستاپ اولیه گیت (First-Time Git Setup)
حالا که Git را روی سیستم خود نصب کردهاید، میخواهید چند کار برای شخصیسازی محیط Git خود انجام دهید. این تنظیمات را فقط یکبار روی هر کامپیوتر باید انجام دهید؛ و این تنظیمات بین آپدیتها حفظ میشوند. همچنین میتوانید در هر زمانی با اجرای مجدد دستورات، این تنظیمات را تغییر دهید.
Git همراه با ابزاری به نام “git config” ارائه میشود که به شما امکان میدهد متغیرهای پیکربندی را دریافت و تنظیم کنید؛ این متغیرها کنترل میکنند که Git چگونه ظاهر شود و چگونه کار کند. این متغیرها میتوانند در سه جای مختلف ذخیره شوند:
-
فایل
[path]/etc/gitconfig
: شامل مقادیری است که برای همهی کاربران سیستم و تمام مخازن آنها اعمال میشود. اگر گزینهی --system را به "git config" بدهید، این فایل را بهطور خاص میخواند و در آن مینویسد. از آنجا که این یک فایل پیکربندی سیستم است، برای اعمال تغییرات به دسترسی مدیریتی یا دسترسی سوپریوزر نیاز دارید. -
فایل
~/.gitconfig
یا~/.config/git/config
: شامل مقادیری است که بهصورت شخصی و مخصوص شما، کاربر، است. میتوانید با استفاده از گزینهی --global به "git config" بگویید که فقط این فایل را بخواند و در آن بنویسد، و این تنظیمات روی تمام مخازنی که در سیستم خود با آنها کار میکنید تأثیر میگذارد. -
فایل
config
در پوشه ی گیت (that is,.git/config
) مربوط به هر مخزنی که در حال حاضر استفاده میکنید: مخصوص همان مخزن است. میتوانید با گزینهی --local به Git دستور دهید که فقط از این فایل بخواند و در آن بنویسد، اما این گزینه در واقع حالت پیشفرض است. بدیهی است که برای استفادهی درست از این گزینه باید در داخل یک مخزن Git باشید.
هر سطح، مقادیر سطح قبلی را نادیده میگیرد، بنابراین مقادیر موجود در فایل ".git/config" اولویت بیشتری نسبت به مقادیر در فایل "[path]/etc/gitconfig" دارند.
در سیستمهای ویندوز، Git به دنبال فایل ".gitconfig" در دایرکتوری "$HOME" میگردد (که برای اکثر کاربران معمولاً "C:\Users\$USER" است). همچنین همچنان به دنبال "[path]/etc/gitconfig" است، هرچند این مسیر نسبت به ریشهی MSys است؛ یعنی هر جایی که هنگام نصب Git روی ویندوز خود آن را نصب کردهاید. اگر از نسخهی ۲.x یا جدیدتر Git برای ویندوز استفاده میکنید، یک فایل پیکربندی در سطح سیستم نیز وجود دارد: در "C:\Documents and Settings\All Users\Application Data\Git\config" برای ویندوز XP، و در "C:\ProgramData\Git\config" برای ویندوز ویستا و نسخههای جدیدتر. این فایل پیکربندی تنها با اجرای دستور "git config -f <file>" به صورت مدیر (admin) قابل تغییر است.
میتوانید همهی تنظیمات خود و منبع آنها را با استفاده از دستور زیر مشاهده کنید:
$ git config --list --show-origin
هویت شما (Your Identity)
اولین کاری که بعد از نصب Git باید انجام دهید، تنظیم نام کاربری و آدرس ایمیل خود است. این موضوع اهمیت زیادی دارد چون هر commit در Git از این اطلاعات استفاده میکند و این اطلاعات بهصورت غیرقابل تغییر در کامیتهایی که ایجاد میکنید ثبت میشوند:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
دوباره تأکید میکنیم که اگر گزینهی --global را استفاده کنید، فقط یکبار باید این کار را انجام دهید، زیرا در این صورت Git همیشه از آن اطلاعات برای کاربر شما روی آن سیستم استفاده خواهد کرد. اگر بخواهید برای پروژههای خاص نام یا آدرس ایمیل متفاوتی تعیین کنید، میتوانید دستور را بدون گزینهی --global در پوشهی آن پروژه اجرا کنید.
بسیاری از ابزارهای رابط کاربری گرافیکی (GUI) هنگام اولین اجرا به شما در انجام این تنظیمات کمک میکنند.
ویرایشگر شما (Your Editor)
حالا که هویت خود را تنظیم کردهاید، میتوانید ویرایشگر متنی پیشفرض را تنظیم کنید که هنگام نیاز Git به نوشتن پیام از آن استفاده شود. اگر این تنظیم انجام نشود، Git از ویرایشگر پیشفرض سیستم شما استفاده میکند.
اگر میخواهید از ویرایشگر متنی متفاوتی مثل Emacs استفاده کنید، میتوانید به این صورت عمل کنید:
$ git config --global core.editor emacs
در سیستم ویندوز، اگر بخواهید از ویرایشگر متنی متفاوتی استفاده کنید، باید مسیر کامل فایل اجرایی (executable) آن را مشخص کنید. این مسیر بسته به نحوه بستهبندی ویرایشگر ممکن است متفاوت باشد.
در مورد Notepad++، یک ویرایشگر محبوب برنامهنویسی، معمولاً تمایل دارید نسخهی ۳۲ بیتی آن را استفاده کنید، چون در زمان نگارش این متن، نسخهی ۶۴ بیتی هنوز تمام پلاگینها را پشتیبانی نمیکند. اگر روی سیستم ویندوز ۳۲ بیتی هستید، یا نسخهی ۶۴ بیتی ویرایشگر را روی سیستم ۶۴ بیتی دارید، چیزی شبیه به این را تایپ خواهید کرد:
$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
یادداشت
|
ویرایشگرهای متنی محبوبی مانند Vim، Emacs و Notepad++ معمولاً توسط توسعهدهندگان روی سیستمهای مبتنی بر یونیکس مانند لینوکس و مکاواس یا سیستم ویندوز استفاده میشوند. اگر از ویرایشگر دیگری استفاده میکنید، یا نسخهی ۳۲ بیتی آن را دارید، لطفاً دستورالعملهای خاص تنظیم ویرایشگر مورد علاقهتان با Git را در دستورات ویرایشگر اصلی گیت (git config core.editor commands) بیابید. |
هشدار
|
ممکن است اگر ویرایشگر خود را به این شکل تنظیم نکنید، هنگام تلاش Git برای باز کردن آن با وضعیت بسیار گیجکنندهای مواجه شوید. بهعنوان مثال، در سیستم ویندوز ممکن است عملیات Git که برای ویرایش آغاز شده بود بهصورت زودهنگام و ناگهانی متوقف شود. |
نام پیشفرض برنچ شما (Your default branch name)
بهطور پیشفرض، Git هنگام ایجاد یک مخزن جدید با دستور git init یک شاخه به نام main میسازد. از نسخهی 2.28 به بعد، میتوانید نام متفاوتی برای شاخهی اولیه تنظیم کنید.
برای تنظیم نام master بهعنوان شاخهی پیشفرض، این کار را انجام دهید:
$ git config --global init.defaultBranch master
بررسی تنظیمات شما (Checking Your Settings)
اگر میخواهید تنظیمات پیکربندی خود را بررسی کنید، میتوانید از دستور "git config --list" استفاده کنید تا تمام تنظیماتی که Git در آن لحظه میتواند پیدا کند را لیست کند:
$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
ممکن است بعضی کلیدها را بیشتر از یک بار ببینید، زیرا Git همان کلید را از فایلهای مختلفی میخواند (مثلاً "[path]/etc/gitconfig" و "~/.gitconfig"). در این حالت، Git آخرین مقدار هر کلید یکتا را که میبیند استفاده میکند.
همچنین میتوانید با تایپ دستور "git config <key>" مقدار در نظر گرفته شده برای یک کلید خاص را مشاهده کنید:
$ git config user.name
John Doe
یادداشت
|
از آنجایی که Git ممکن است مقدار یک متغیر پیکربندی را از بیش از یک فایل بخواند، ممکن است با مقداری غیرمنتظره مواجه شوید و ندانید چرا. در چنین مواردی، میتوانید از Git بپرسید که منشأ (origin) آن مقدار کجا بوده است، و Git به شما خواهد گفت که کدام فایل پیکربندی آخرین تصمیم را در تعیین آن مقدار گرفته است:
|