-
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.6 شروع به کار - اولین راهاندازی گیت
اولین راهاندازی گیت
حالا که گیت را در سیستم خود دارید، وقت آن است که چند شخصیسازی در محیط گیتتان انجام دهید. باید این کارها را فقط یک بار به ازای هر کامپیوتری انجام دهید؛ این تنظیمات با بروزرسانیها از بین نمیرود. همچنین میتوانید هر زمان که خواستید آنها را با اجرای دوباره دستورات تغییر دهید.
گیت با ابزاری به نام git config
ارائه میشود، که به شما امکان تنظیم و خواندن متغیرهای پیکربندی که تمام جوانب کاری گیت و ظاهر آن را مدیریت میکنند را میدهد.
این متغیرها را میتوان در سه مکان مختلف ذخیره کرد:
-
فایل
/etc/gitconfig
: شامل مقادیری است که برای تمام کاربران سیستم و تمام مخازن آنها اعمال میشود. اگر از آپشن--system
برایgit config
استفاده کنید خواندن و نوشتن با فایل مذکور انجام میشود. (به دلیل اینکه این یک فایل تنظیم سیستمی است ممکن است شما به دسترسی سطح ادمین یا سوپریوزر احتیاج داشته باشید تا بتوانید آن را ویرایش کنید.) -
فایل
~/.gitconfig
یا~/.config/git/config
: مقادیر مختص به شما، کاربر، را نگهداری میکند. شما میتوانید با دادن آپشن--global
به گیت بگویید تا مخصوصاً با این فایل خواندن و نوشتن را انجام بدهد. -
فایل
config
درون پوشه گیت (همان.git/config
) هر پروژهای که در حال کار روی آن هستید: تنظیمات مختص به آن مخزن واحد را شامل میشود. شما میتوانید با آپشن--local
گیت را مجبور کنید تا خواندن و نوشتن را روی این فایل انجام دهد. لکن درحقیقت به طور پیشفرض گیت همین کار را میکند. (بدیهی است که نیاز دارید درون پوشهٔ آن مخزن گیت باشید تا این دستور به درستی کار کند.)
هر کدام از این مرتبهها تنظیمات مرتبه قبل را بازنویسی میکنند. بنابراین مقادیر .git/config
نسبت به مقادیر /etc/gitconfig
اولویت دارند.
در سیستمهای ویندوزی گیت به دنبال فایل .gitconfig
در پوشه $HOME
میگردد (که برای اکثریت C:\Users\$USER
است).
علاوه بر آن همچنان به دنبال /etc/gitconfig
میگردد،
اگرچه به دنبال آن به نسبت روت MSys میگردد که هنگام نصب گیت روی سیستم ویندوزتان آنرا تنظیم میکنید.
اگر از نسخه 2.x یا بالاتر گیت برای ویندوز استفاده میکنید باید یک فایل پیکربندی مرتبه-سیستمی
در C:\Documents and Settings\All Users\Application Data\Git\config
روی ویندوز XP و
در C:\ProgramData\Git\config
روی ویندوز ویستا و جدیدتر وجود داشته باشد.
این فایل پیکربندی فقط با git config -f <file>
به عنوان ادمین قبل ویرایش است.
شما میتوانید تمام تنظیمات خود و اینکه از کجا میآیند را با دستور زیر بررسی کنید:
$ git config --list --show-origin
هویت شما
اولین کاری که باید هنگام نصب گیت انجام دهید تنظیم نام کاربری و آدرس ایمیل خود است. این اصل مهمی است چرا که هر گیت کامیت از این اطلاعات استفاده میکند و به صورت غیرقابل تغییر درون کامیتهایی که شما میسازید حک میشود:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
مجدداً، فقط لازم است که یکبار این کار را انجام دهید (تنها در حالتی که آپشن --global
را به دستور بدهید)، چرا که گیت همیشه از این اطلاعات برای هر کاری در آن سیستم استفاده خواهد کرد.
اگر میخواهید این را با یک نام یا ایمیل متفاوت برای پروژهای خاص بازنویسی کنید، مادامی که در آن پروژه هستید میتوانید بدون --global
آنرا اجرا کنید.
بسیاری از ابزارهای گرافیکی هنگامی که شما برای اولین بار آنها را اجرا میکنید، به شما کمک میکنند این پیکربندیها را انجام دهید.
ویرایشگر شما
اکنون که هویت شما تنظیم شده است، میتوانید ویرایشگر پیشفرضی که هنگام تایپ پیام، گیت احتیاج دارد را تنظیم کنید. در صورتی که تنظیم نشود گیت از ویرایشگر پیشفرض سیستم استفاده میکند.
اگر میخواهید که از ویرایشگر متفاوتی، مانند ایمکس، استفاده کنید میتوانید مانند دستور زیر این کار را انجام دهید:
$ git config --global core.editor emacs
در یک سیستم ویندوزی اگر میخواهید که از یک ویرایشگر متفاوت استفاده کنید باید مسیر کامل فایل اجرایی آنرا مشخص کنید. این مسیر میتواند بسته به نحوه پکیجشدن ویرایشگر شما متفاوت باشد.
نوتپد++ را نظر بگیرید، یک ویرایشگر محبوب برنامهنویسی، که از آنجایی که نسخه ۶۴ بیتی در زمان نوشتن این متن از تمام افزونهها پشتیبانی نمیکند احتمالاً از نسخه ۳۲ بیت آن استفاده میکنید. اگر شما از یک سیستم ویندوز ۳۲ بیتی استفاده میکنید یا یک ویرایشگر ۶۴ بیتی روی یک سیستم ۶۴ بیتی دارید، ورودی مسیر کامل چیزی شبیه زیر خواهد بود:
$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
یادداشت
|
ویم، ایمکس و نوتپد++ ویرایشگرهای محبوبی هستند که اکثراً توسط کاربران سیستمهای یونیکس-پایه مانند لینوکس و مک و یا حتی یک سیستم ویندوزی استفاده میشوند.
اگر شما از ادیتور دیگری یا نسخه ۳۲ بیتی استفاده میکنید، لطفاً دستورات مختص به اینکه چگونه ویرایشگر مورد علاقه خود را در گیت راه بنیدازید را از |
هشدار
|
اگر اینگونه ویرایشگر خود را معرفی نکنید ممکن است در هنگام اجرای گیت دچار سردرگمی شوید. مثلاً حین اجرای مثالها، هنگامی که گیت ویرایشگر را روی یک سیستم ویندوزی فرا میخواند ممکن است پیش از اتمام دستور گیت به مشکل بخورد و متوجه نشوید. |
بررسی تنظیمات شما
اگر میخواهید که تنظیمات پیکربندی خود را بررسی کنید، میتوانید از دستور git config --list
برای لیست کردن تمام تنظیماتی که گیت در مکان اجرا پیدا میکند استفاده کنید:
$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
ممکن است بعضی از کلیدها را بیش از سایر کلیدها ببینید چرا که گیت آن کلیدها را از فایلهای مختلف میخواند (/etc/gitconfig
و ~/.gitconfig
به طور مثال).
در این حالت گیت از آخرین مقداری که برای هر کلید یکتا میخواند استفاده میکند.
همچنین میتوانید مقدار مد نظر گیت را برای یک کلید خاص را با git cofnig <key>
بررسی کنید:
$ git config user.name
John Doe
یادداشت
|
از آنجا که ممکن است گیت مقدار یک متغیر پیکربندی را از بیش از یک فایل بخواند، احتمال دارد که یک مقدار غیرمنتظره برای یکی از این مقادیر پیدا کنید و چرایی این قضیه را ندانید. در چنین مواردی میتوانید از گیت origin (مرجع) یک مقدار را پرسوجو کنید و به شما خواهد گفت که کدام فایل پیکربندی آخرین حرف را در تنظیم مقدار مورد نظر زده است:
|