به عنوان یک توسعه دهنده، احتمالاً روزانه از Git CLI (واسط خط فرمان) استفاده می کنید. با این حال، نوشتن مکرر همان دستورات قدیمی می تواند دشوار باشد، به خصوص زمانی که دستورات طولانی هستند. اینجاست که نام مستعار Git برای کمک به شما وارد می شود.

در این مقاله، روش ساده سازی دستورات Git خود را با استفاده از نام مستعار یاد خواهید گرفت.

فهرست مطالب

  • پیش نیازها

  • نام مستعار Git چیست؟

  • روش اضافه کردن نام مستعار Git از طریق فایل پیکربندی جهانی Git (توصیه می شود)

    • چگونه ویرایشگر گیت دلخواه خود را تنظیم کنید

    • روش باز کردن فایل کانفیگ Git

    • چگونه از طریق فایل کانفیگ خود یک نام مستعار Git اضافه کنید

  • روش اضافه کردن نام مستعار در CLI

  • روش ایجاد دستورات سفارشی برای میانبرهای پیچیده تر

    • روش استفاده از پارامترها در همه دستورات
  • نام مستعار مفید دیگر

  • خلاصه

پیش نیازها

  • دانش Git

  • Git Bash نصب شده است (اختیاری اما به کاربران ویندوز توصیه می شود).

  • یک IDE مانند VS Code (این نیز اختیاری است).

نام مستعار Git چیست؟

نام مستعار Git میانبرهای سفارشی برای دستورات Git موجود است که کارهای رایج را سریعتر و آسان تر می کند. آنها به شما اجازه می دهند دستورات خود را تعریف کنید و به شما امکان می دهند میانبرها را دقیقاً همانطور که می خواهید تنظیم کنید.

شما دو گزینه اصلی برای افزودن/ایجاد نام مستعار git در پیکربندی git خود دارید، با استفاده از فایل پیکربندی Git یا افزودن مستقیم آنها از طریق CLI (terminal/خط فرمان).

این گزینه شامل باز کردن فایل پیکربندی git شما و اضافه کردن نام مستعار git به پایین فایل است.

چگونه ویرایشگر گیت دلخواه خود را تنظیم کنید

نرم افزار ویرایشگر پیکربندی Git پیش فرض خود را تنظیم کنید، به عنوان مثال، من از آن استفاده می کنم VS Code برای ویرایش فایل پیکربندی Git من، اما می توانید از هر ویرایشگر متن/ویرایشگر کدی که ترجیح می دهید استفاده کنید.

این دستور را اجرا کنید تا Notepad را به عنوان ویرایشگر ترجیحی خود تنظیم کنید روی ویندوز (CMD/PowerShell):

git config --global core.editor "notepad"

برای تنظیم این دستور را اجرا کنید VS Code به عنوان ویرایشگر دلخواه شما روی ویندوز و MacOS / لینوکس:

git config --global core.editor "code --wait"

برای تنظیم یک ویرایشگر پیش‌فرض دیگر، «Set {editor} as default Git editor» را به صورت آنلاین جستجو کنید و جایگزین کنید {editor} با برنامه دلخواه شما

روش باز کردن فایل کانفیگ Git

خودت را باز کن terminal را انتخاب کرده و دستور زیر را وارد کنید. با این کار فایل پیکربندی جهانی Git باز می شود (git config —global، در حالت ویرایش (-e).

git config --global -e

می توانید فایل پیکربندی git را مستقیماً از مکان های زیر باز کنید:

سیستم عامل مک: فهرست اصلی → نمایش مخفی (Cmd + Shift + H) → .gitconfig

ویندوز: C:\Users\YourUsername\ ← سپس فایل های مخفی (در View) را نشان داده و پیدا کنید .gitconfig

لینوکس: فهرست خانه → نمایش پنهان (Ctrl + H) → .gitconfig

چگونه از طریق فایل کانفیگ خود یک نام مستعار Git اضافه کنید

اگر برای اولین بار است که نام مستعار Git را اضافه می کنید، خود را باز کنید .gitconfig فایل، اضافه کنید [alias] در پایان، و سپس میانبرهای خود را در زیر فهرست کنید. این به Git می گوید که اینها نام مستعار هستند. نام مستعار دلخواه خود را اضافه کنید (فرمان کوتاه شده ای که می خواهید اجرا کنید).

پیشنهاد می‌کنیم بخوانید:  فهرستی از دیکشنری ها را به یک DataFrame Pandas در پایتون تبدیل کنید

فرمت نام مستعار git است <alias> = <command>، بنابراین داریم:

co = checkout
cob = checkout -b

توضیح مثال های بالا:

co = checkout این نقشه git checkout دستور به کوتاهتر git co فرمان سپس شما تماس بگیرید git co feature/123 در شما terminal.

نیازی به تایپ ندارید git در جلوی دستور، از آنجایی که پیکربندی به طور خودکار این را از قبل آماده می‌کند، زیرا می‌داند دستوری که نقشه‌برداری می‌کنید یک دستور Git است.

توجه داشته باشید: هر پارامتری که به دستور ارسال می شود، فقط به فرمان نهایی که در داخل نام مستعار خوانده می شود اعمال می شود.

نام مستعار بیشتری را می توان به این روش اضافه کرد و میانبرها را به دستورات git موجود نگاشت. پس از ذخیره و بستن فایل، نام مستعار در شما در دسترس خواهد بود terminal.

روش اضافه کردن نام مستعار در CLI

اگر می خواهید رویکرد ساده تری برای افزودن نام مستعار Git داشته باشید، می توانید آنها را مستقیماً از داخل terminal/خط فرمان.

با در نظر گرفتن مثال‌های بالا، می‌توانیم این موارد را مستقیماً به روش زیر اضافه کنیم:

فرمت دستور به صورت زیر است: git config --global alias.{alias} "{original command}":

git config --global alias.co "checkout"
#or
git config --global alias.cob "checkout -b"

به همین راحتی است!

روش ایجاد دستورات سفارشی برای میانبرهای پیچیده تر

خوب، این عالی به نظر می رسد، اما واقعاً آنقدرها هم چشمگیر نیست – ما فقط چند شخصیت را حذف می کنیم. با این حال، ما می توانیم آنها را بسیار مفیدتر کنیم، می توانیم دستورات خود را با استفاده از دستورات پوسته ایجاد کنیم.

بیایید مثال زیر را در نظر بگیریم، دستوری که من زیاد استفاده می کنم!

new-work = !git checkout main && git pull && git cob

این نام مستعار چندین دستور Git را در یک فرمان پوسته ترکیب می کند. را ! کاراکتر به Git می گوید که با آن به عنوان یک فرمان پوسته رفتار کند، نه یک دستور استاندارد Git.

بدون !، Git با نام مستعار به عنوان یک دستور Git رفتار می کند (به عنوان مثال، checkout تبدیل می شود git checkout). با !، Git می داند که آن را به عنوان یک دستور پوسته بدون اضافه کردن اجرا کند git در مقابل

با زنجیر کردن این دستورات، می‌توانیم نام مستعار بسیار مفیدتری بنویسیم. مورد فوق این کار را خواهد کرد:

  • اول، بررسی کنید main شاخه

  • با استفاده از && عملگر، به این معنی است که سایر دستورات فقط در صورتی اجرا می شوند که دستور قبلی موفقیت آمیز بوده باشد.

  • ثانیاً، تغییرات را از آن حذف خواهد کرد main.

  • در نهایت یک شاخه جدید از قسمت ایجاد کنید main با استفاده از نام مستعار دیگر ما شعبه کنید git cob.

سپس فرمان نهایی می‌تواند پارامترها را بپذیرد (همانطور که دستور Git اصلی انجام می‌دهد)، بنابراین می‌توان از آن به صورت زیر استفاده کرد:

git new-work 'feature/new-work-from-main'

روش استفاده از پارامترها در همه دستورات

تا به حال، ما فقط می توانستیم پارامترهای خود را به دستور git نهایی در نام مستعار خود منتقل کنیم. با این حال، اگر بخواهیم پارامترها را به برخی، اگر نه همه دستورات داخل نام مستعار، منتقل کنیم، چه؟ ما می توانیم با استفاده از یک تابع پوسته به این هدف برسیم.

پیشنهاد می‌کنیم بخوانید:  راهنمای روش فیلتر() جاوا اسکریپت فیلتر کردن از طریق اطلاعات یکی از مهمترین کارهایی است که ما از اتوماسیون/کامپیوتر برای آن استفاده می کنیم! اگر بخواهیم همه چیز را به صورت دستی غربال کنیم، کامپیوترها و نرم افزارها تقریباً به این اندازه مفید نخواهند بود. با توسعه - فیلتر کردن داده ها برای کاربران نهایی یک کار رایج است که به کاربران امکان می دهد جستجو را محدود کنند ...

مثال زیر را در نظر بگیرید:

new-work = "!f() { git checkout \"$1\" && git pull && git checkout -b \"$2\"; }; f"

در بالا از یک تابع پوسته استفاده می کنیم که پارامترهای ورودی را پردازش می کند.

توضیح:

  1. !f():

    • را ! به Git می گوید که نام مستعار را به عنوان یک فرمان پوسته به جای یک دستور استاندارد Git تفسیر کند.

    • f() یک تابع پوسته را تعریف می کند f که به ما امکان می دهد چندین دستور را به ترتیب اجرا کنیم.

  2. همه چیز داخل { } چیزی است که در داخل اجرا خواهد شد f() تابع

  3. git checkout \”$1”'\: یک دستور Git پارامتری را اجرا می کند، جایی که $1 فرار کرده و با پارامتر 1 که به نام مستعار منتقل می شود جایگزین می شود. را \" سکانس های فرار در اطراف $1 اجازه دادن به نام شاخه ها با فاصله.

  4. && یک عملگر منطقی است که تضمین می کند هر فرمان فقط در صورت موفقیت آمیز بودن دستور قبلی اجرا می شود. اگر git checkout "$1" شکست می خورد، دستورات زیر اجرا نمی شوند.

  5. git checkout -b \”$2”\ : یک شاخه جدید با نام پارامتر دوم مانند قبل ایجاد می کند.

  6. ;: نشان دهنده پایان f() عملکرد؛

  7. f: فینال f بلافاصله تابع مستعار را فراخوانی می کند، به این معنی که وقتی نام مستعار را فراخوانی می کنید، تابع را اعلام می کند و سپس بلافاصله آن را فرا می خواند.

استفاده:

git new-work development task/feat-123

نام مستعار مفید دیگر

[alias]
     co = checkout
    cob = checkout -b
    s = status
    tidy-up = !git checkout main && git branch | grep -v "main" | xargs git branch -D
    latest = !git checkout main && git pull
    new-work = "!f() { git checkout \"$1\" && git pull && git checkout -b \"$2\"; }; f"
    done = !git push -u origin HEAD
    save = !git add -A && git commit
    saveM = !git add -A && git commit -m
    br = branch --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate

خلاصه

co: پرداخت شعبه داده شده → git co task/feat-123

cob: یک شاخه جدید از شاخه فعلی ایجاد می کند → git cob feature/123

s: تماس می گیرد git status برای مشاهده وضعیت شاخه git فعلی → git s

tidy-up: تمام شاخه های محلی را حذف می کند maingit tidy-up

latest: آخرین تغییرات را از راه دور دریافت می کند main شعبه → git latest

new-work: یک شاخه جدید (پارام دوم) از شاخه 1st param → ایجاد می کند git new-work main feat/123

git done: شاخه فعلی را به مخزن راه دور (origin) و آن را به عنوان شاخه بالادست تنظیم می کند. این می تواند هنگام فشار دادن اولین commit مفید باشد و با این خطا مواجه شوید:
fatal: The current branch has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin

save: به سادگی همه فایل های تغییر یافته را اضافه می کند و آنها را commit می کند، ویرایشگر Git پیش فرض خود را باز می کند و یک پیام commit درخواست می کند → git save

savem: مانند بالا انجام می شود، اما به جای باز کردن ویرایشگر خود، می توانید یک پیام commit را به صورت درون خطی ارسال کنید → git savem ‘Task123: add index.html

br: این یکی پیچیده به نظر می رسد، اما آنقدرها که به نظر می رسد پیچیده نیست، اما قدرت نام مستعار را برجسته می کند. در اصل، فرمت خروجی را سفارشی می کند git branch برای نمایش فهرست دقیق و رنگی از شاخه ها، مرتب شده بر اساس آخرین تاریخ commit، برای هر شعبه ای که به صورت محلی دارید چیزی شبیه به تصویر زیر خواهد بود.

36008ee8-e54e-4b06-8a84-2a20885a1255

در اینجا شما آن را دارید، مقدمه ای برای نام مستعار Git و چند نمونه مفید از نام مستعار که می توانید به عنوان شروع کننده به پیکربندی خود اضافه کنید.

مثل همیشه اگر می خواهید در مورد آن چت کنید یا در مورد مقالات بعدی بشنوید، می توانید من را دنبال کنید روی توییتر.