Chapters ▾ 2nd Edition

1.5 شروع به کار (getting started) - ستاپ اولیه گیت (First-Time Git Setup)

ستاپ اولیه گیت (First-Time Git Setup)

حالا که Git را روی سیستم خود نصب کرده‌اید، می‌خواهید چند کار برای شخصی‌سازی محیط Git خود انجام دهید. این تنظیمات را فقط یک‌بار روی هر کامپیوتر باید انجام دهید؛ و این تنظیمات بین آپدیت‌ها حفظ می‌شوند. همچنین می‌توانید در هر زمانی با اجرای مجدد دستورات، این تنظیمات را تغییر دهید.

Git همراه با ابزاری به نام “git config” ارائه می‌شود که به شما امکان می‌دهد متغیرهای پیکربندی را دریافت و تنظیم کنید؛ این متغیرها کنترل می‌کنند که Git چگونه ظاهر شود و چگونه کار کند. این متغیرها می‌توانند در سه جای مختلف ذخیره شوند:

  1. فایل [path]/etc/gitconfig: شامل مقادیری است که برای همه‌ی کاربران سیستم و تمام مخازن آن‌ها اعمال می‌شود. اگر گزینه‌ی --system را به "git config" بدهید، این فایل را به‌طور خاص می‌خواند و در آن می‌نویسد. از آنجا که این یک فایل پیکربندی سیستم است، برای اعمال تغییرات به دسترسی مدیریتی یا دسترسی سوپریوزر نیاز دارید.

  2. فایل ~/.gitconfig یا ~/.config/git/config: شامل مقادیری است که به‌صورت شخصی و مخصوص شما، کاربر، است. می‌توانید با استفاده از گزینه‌ی --global به "git config" بگویید که فقط این فایل را بخواند و در آن بنویسد، و این تنظیمات روی تمام مخازنی که در سیستم خود با آن‌ها کار می‌کنید تأثیر می‌گذارد.

  3. فایل 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 به شما خواهد گفت که کدام فایل پیکربندی آخرین تصمیم را در تعیین آن مقدار گرفته است:

$ git config --show-origin rerere.autoUpdate
file:/home/johndoe/.gitconfig	false
scroll-to-top