آموزش گیت (۲) – تنظیمات پایه GIT
حال که Git روی سیستم نصب شده است، نیاز به شخصیسازی بعضی از منابع Git است. انجام این تنظیمات فقط برای یک مرتبه انجام میپذیرد؛ و بعد از آن با هر بار ارتقاء بدون تغییر باقی میمانند. همچنین امکان تغییر آنها در هر زمانی که نیاز باشد به کمک خط فرمان وجود دارد.تنظیمات پایه GIT
به همراه Git ابزاری ارائه شده است با نام git config که امکان خواندن و اعمال متغیرهای تنظیماتی که تمامی ابعاد ظاهری و عملیاتی Git را کنترل میکند فراهم میسازد.
- فایل
/etc/gitconfig
: حاوی مقادیر تمامی کاربران سیستم و مخازن آنها است. اگر به همراهgit config
از گزینه--system
استفاده شود، خواندن و نوشتن به صورت اختصاصی از این فایل انجام میپذیرد. - فایل
~/.gitconfig
: مختص کاربر مشخصی است. با استفاده از گزینه--global
خواندن و نوشتن Git به صورت اختصاصی از این فایل انجام میپذیرد. - فایل config موجود در پوشه git (
.git/config
) یا هر مخزنی که در حال استفاده از آن میباشید: مختص یک مخزن خاص است. مقادیر هر سطح باعث لغو مقادیر سطح قبلی خود میشود. بنابراین مقادیر.git/config
موجب لغو مقادیر/etc/gitconfig
خواهد شد.
در سیستمهای ویندوزی، Git در پوشه $HOME
(متغیر محیطی %USERPROFILE%
در ویندوز) که برای اکثر کاربران با توجه به نسخه سیستم در مسیرهای C:\Documents and Settings\$USER یا
C:\Users\$USER(
$USER در ویندوز متغیر محیطی %USERNAME%
) قرار دارد، فایل .gitconfig
را جستجو میکند. همچنین نسبت به مسیر ریشه MSys که همان مسیر نصب انتخاب شده در هنگام اجرای نصاب Git در ویندوز میباشد، به دنبال فایلی با نام /etc/gitconfig میگردد.
شناسه کاربر
اولین عملی که بعد از نصب Git باید انجام شود، مقداردهی دو متغیر نام کاربری (user name) و آدرس پست الکترونیکی (e-mail address) است. این عمل از آن جهت اهمیت دارد که در هر commit این اطلاعات بهصورتی تغییر ناپذیر روی commit انجام شده حک میشوند.تنظیمات پایه GIT
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
مجدداً یادآوری میشود که انجام این عمل در صورت استفاده از گزینه --global
فقط یک مرتبه انجام میپذیرد، زیرا Git برای هر عملی که در سیستم انجام میپذیرد از این اطلاعات استفاده میکند. حال اگر فرد نیاز به استفاده از نام و آدرس پست الکترونیکی متفاوتی برای پروژههای خاصی دارد، میتواند با اجرای همان دستورات البته بدون استفاده از گزینه --global
هنگامی که در مسیر پروژه مذکور قرار دارد به مقصود خود دست یابد.
ویرایشگر کاربر
حال که شناسه تنظیم شد، میتوان ویرایشگر متن پیش فرضی را معرفی کرد تا هنگامی که نیاز به درج پیغامی در Git است فراخوانی شود. به صورت پیش فرض Git از ویرایشگر پیش فرض سیستم برای این امر استفاده می کند، که معمولاً Vi یا Vim است. اگر نظر شخص به استفاده از ویرایشگر متنی متفاوتی مانند Emacs باشد، میتوان به صورت ذیل عمل کرد:تنظیمات پایه GIT
$ git config --global core.editor emacs
ابزار Diff
ابزار مفید دیگری که شاید نیاز به تنظیم داشته باشد، ابزار diff پیش فرضی است که برای رفع مغایرت ایجاد شده در هنگام اجرای دستور merge استفاده میگردد. به عنوان مثال اگر هدف استفاده از vimdiff باشد خواهیم داشت:تنظیمات پایه GIT
$ git config --global merge.tool vimdiff
Git از ابزارهای kdiff3، tkdiff، meld، xxdiff، emerge، vimdiff، gvimdiff، ecmerge و opendiff جهت merge پشتیبانی میکند. با این وجود امکان تعریف ابزاری شخصی نیز وجود دارد؛ برای اطلاعات بیشتر جهت انجام این مورد میتوانید به فصل ۷ مراجعه کنید.
بررسی تنظیمات
برای مشاهده و بررسی تنظیمات، میتوان از دستور git config --list
استفاده کرد که در نتیجه آن Git تمامی تنظیمات موجود تا آن لحظه را در قالب لیستی نمایش میدهد:
$ git config --list
user.name=Scott Chacon
user.email=schacon@gmail.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
احتمال دارد در این لیست کلیدهایی بیش از یک بار مشاهده شوند، دلیل این امر آن است که Git کلید مشابهی را از فایلهای مختلفی (مانند /etc/giconfig
و ~/.gitconfig
) خوانده است. در اینگونه موارد، Git آخرین مقدار کلید منحصر به فردی که مشاهده میکند را جهت استفاده بهکار میگیرد.
همچنین برای مشاهده مقدار مورد استفاده یک کلید خاص توسط Git، میتوان از دستور git config {key}
استفاده کرد:
$ git config user.name
Scott Chacon
دریافت راهنما
هرگاه در استفاده از Git نیازمند راهنمایی بودید، سه روش برای مشاهده صفحه راهنما هرگونه دستوری در Git وجود دارد:
$ git help <verb>
$ git <verb> --help
$ man git-<verb>
برای مثال، برای مشاهده صفحه راهنما دستور config داریم
$ git help config
این دستورات از آن جهت که میتوان از هر مکانی، حتی در حالت آفلاین، به آنها دسترسی پیدا کرد ابزاری کاربردی میباشند. اگر صفحات راهنما و این کتاب جوابگوی نیاز شما نبودند و نیاز به راهنمایی فردی پیدا کردید، میتوانید به کانالهای #git
یا #github
در سرور Freenode IRC (irc.freenode.net) مراجعه کنید. معمولاً این کانالها مملؤ از افرادی با سطح دانش بالا در زمینه Git هستند که آماده راهنمایی رساندن به شما میباشند