اسامی مستعار (Aliases) در GIT – از صفر تا صد


همه ما به عنوان توسعهدهنده به خوبی با Git آشنا هستیم، چون بخشی مهمی از فعالیت روزانه ما را تشکیل میدهد. اغلب توسعهدهندگان نرمافزار همیشه از Git استفاده میکنند و هیچ روزی نیست که با آن تعامل نداشته باشند. ما میتوانیم Git را از ترمینال اجرا کنیم یا از برخی ابزارهای شخص ثالث مانند Sourcetree استفاده کنیم.
اما برخی عاشقان ترمینال وجود دارند که دوست دارند Git را دائماً و صرفاً از ترمینال اجرا کنند. بنابراین در مواردی برای آنها دشوار است که دستورهای طولانی Git را به خاطر بسپارند و مداوماً وارد کنند. بدیهی است که وارد کردن مداوم دستورهای طولانی، کاری زمانبر و خستهکننده محسوب میشود.
چاره کار چیست؟ در این نوشته برخی میانبرها برای این دستورهای بسیار بلند را معرفی میکنیم. این میانبرها، اسامی مستعار Git یا Git Alias نامیده میشوند و نجاتدهنده ما هستند. bash_profile جایی است که میتوانیم این اسمی مستعار را وارد کنیم.
چگونه bash_profile را باز کنیم؟
در پنجره ترمینال خود میتوانید با استفاده از دستور زیر به سادگی bash_profile را باز کنید:
vim ~/.bash_profile
اینک با زدن کلید i در vim editor وارد حالت درج شوید.
ایجاد نخستین اسم مستعار در bash_profile:
نخستین برنامهای که در همه زبانهای برنامهنویسی آموزش داده میشود برنامه «hello world» است. ما نیز از همین سنت پیروی میکنیم و نخستین اسم مستعاری که میخواهیم بنویسیم دستور hello است.
به این منظور bash_profile را باز کنید و خط زیر را در آن وارد نمایید:
alias hello="echo Hello Boudhayan!! How are you?"
این خط اعلام میکند باید یک اسم مستعار به نام alais ایجاد شود که hello نام دارد و در سمت راست نیز تعیین شده است که این اسم مستعار باید دستور فوق را اجرا کند. بنابراین هر بار که در ترمینال hello را وارد میکنیم باید دستور منتسب به خود را اجرا کند. این تغییرات را ذخیره کنید و با دستور زیر را بارگذاری مجدد بکنید:
source ~/.bash_profile
اینک اگر عبارت hello را در ترمینال وارد کنید، عبارت «?Hello Boudhayan!! How are you» نمایش مییابد:
بدین ترتیب با روش ایجاد اسم مستعار در bash_profile آشنا شدید.
اگر با دقت بیشتری نگاه کنیم، میتوانیم رابطههای آن را درک کنیم. همان طور که میبینید این فرایند شبیه اعلان متغیر در زبانهای مختلف برنامهنویسی است. اینک زمان آن رسیده است که برخی اسامی مستعار برای git بسازیم تا امور روزمره خودمان را سریعتر و سادهتر انجام دهیم:
git clone
ما از این دستور git برای کلون کردن یک مخزن ریموت روی سیستم محلیمان استفاده میکنیم. با این که این یک دستور کوتاه است؛ اما میخواهیم با یادگیری اسامی مستعار شروع به یادگیری روش کوتاهسازی هر چه بیشتر آن آشنا شویم. بدین ترتیب bash_profile را باز کنید، خط زیر را در آن بنویسید و آن را بارگذاری مجدد کنید.
alias gc="git clone"
از این پس دیگر هر دفعه برای کلون کردن یک ریپازیتوری نیاز نیست دستور زیر را وارد کنید:
git clone <remote repository url>
به جای آن میتوانید دستور زیر را استفاده کنید:
gc <remote repository url>
بدین ترتیب ریپازیتوری ریموت مورد نظر شما در سیستم محلی کلون میشود.
ایجاد اسامی مستعار بیشتر
ما در گیت با استفاده از دستورهای زیر کامیتهای خود را در شاخههای master یا development پوش میکنیم:
git push origin develop git push origin master
اینک میتوانیم نسخههای کوتاهتری از دستورهای فوق را بسازیم:
alias gpd="git push origin develop" alias gpm="git push origin master"
بنابراین از این پس میتوانیم از gpd و gpm برای پوش کردن کامیت های محلی به ترتیب به شاخههای master و development استفاده کنیم. تا به اینجا با روش ایجاد اسامی مستعار برای دستورهای گیت آشنا شدید. در ادامه برخی اسامی مستعار بیشتر را ارائه کردهایم که در زمان برنامهنویسی بسیار به کار میآیند:
تابعهای shell
ما میتوانیم از تابعهای shell نیز برای اعلان کردن اسامی مستعار بیشتر برای git استفاده کنیم. اما در آغاز باید با روش نوشتن تابعهای shell آشنا باشیم.
نوشتن یک تابع shell که شبیه تابعهای معمولی در زبان C است بسیار آسان محسوب میشود.
اینک تابع خود را بررسی میکنیم. این تابع یک دایرکتوری در مسیر جاری ایجاد میکند و سپس بیدرنگ به آن دایرکتوری میرود. میدانیم که دستورهای زیر نیز این کار را اجرا میکنند:
mkdir <directory_name> cd <directory_name>
ما میتوانیم این دو دستور را با ایجاد یک تابع ساده در bash_profile به صورت زیر با هم ترکیب کنیم:
اینک منبع bash_profile را بارگذاری کنید و دستور زیر را اجرا نمایید:
mdm test
دستور فوق یک دایرکتوری به نام test در مسیر جاری ایجاد میکند و به آن دایرکتوری میرود.
اسامی مستعار پیشرفته Git
برای پوش کردن کد به یک شاخه ریموت باید یک کامیت با پیام ایجاد کنیم. تنها در این صورت میتوانیم به یک شاخه پوش کنیم. بنابراین اساساً این کار شامل دو دستور (کامیت و پوش) خواهد بود. اما میخواهیم همین کار را با تنها یک خط دستور و نوشتن تابع shell برای آن اجرا کنیم. این کار به سادگی و از طریق نوشتن یک تابع shell ساده میسر است.
bash_profile را باز کنید و تابع زیر را بنویسید:
bash_profile را بارگذاری مجدد کرده و از دستور زیر استفاده کنید:
gcp "initial commit"
از این پس میتوانیم از این دستور gcp برای کامیت و پوش کردن در یک دفعه استفاده کنیم. به طور معمول در یک شاخه development، همه اعضای تیم تغییرات خود را به صورت روزانه پوش میکنند. بنابراین در برخی موارد، یافتن یک کامیت خاص در میان همه کامیتها بسیار دشوار میشود. برای مدیریت آسان این وضعیت، باید تابعی بنویسیم که به دنبال پیام خاصی در log-های کامیت بگردد و آن کامیت را بازگرداند. به این منظور تابعی مانند زیر مینویسیم:
اگر در مواردی بخواهیم بر اساس پیام یک کامیت به دنبال آن بگردیم، در این صورت میتوانیم از تابع gfc خود به صورت زیر استفاده کنیم:
gfc "<commit message>"
سخن پایانی
ما در این نوشته با روش استفاده از میانبرها برای دستورهای git آشنا شدیم. این اسامی مستعار و تابعهایی که در راهنما معرفی شدند، باعث صرفهجویی زمانی زیادی در هنگام نوشتن دستورهای بلند میشوند و کارها را روانتر میکنند. شما میتوانید اسامی مستعار و تابعهای مختلفی را که میخواهید اضافه کنید و اصلاحاتی در آنها ایجاد کنید.
اگر این نوشته برای شما مفید بوده است، پیشنهاد میکنیم از آموزشهای زیر استفاده کنید:
- مجموعه آموزشهای برنامهنویسی
- آموزش گیت (Git) برای مدیریت نسخه توزیع شده
- مجموعه آموزشهای ابزارها و راهکارهای مدیریت وبسایتها
- آموزش تاریخچه گیت (Git) و مقدمات آن
- مفاهیم مقدماتی Git Merge و Git Rebase — به زبان ساده
- راهنمای پیشرفته Git برای مبتدیان — به زبان ساده
- نصب گیت (Git) روی اوبونتو — به زبان ساده
- چگونه از گیت (Git) به طرز موثرتری استفاده کنیم؟ — به زبان ساده
==