Anophel-آنوفل 10 تا از ترفند های پیشرفته در Git که باید بدانید

10 تا از ترفند های پیشرفته در Git که باید بدانید

انتشار:
1

تا به حال به این فکر کرده اید که هنگام استفاده از Git چه کاری می توانید انجام دهید تا در مقابل مدیر خود شبیه یک حرفه ای به نظر برسید؟ در این مقاله، با 10 تکنیک و میانبر پیشرفته Git آشنا می‌شویم که شما را در نسخه‌سازی، نگهداری و اشتراک‌گذاری کد کارآمدتر می‌کند. احتمالاً از قبل اصول کامیت نوشتن، push، pull و فورک کردن با Git را می‌دانید. اما دستورات و ویژگی های کمتر شناخته شده زیادی وجود دارد که می تواند مهارت های شما را ارتقا دهد. پس از خواندن این مقاله، چند ترفند ساده در جعبه ابزار خود خواهید داشت تا با مهارت Git خود همکاران را تحت تأثیر قرار دهید.

1. Add & Commit

شما چندین بار فایل‌ها را به این روش اضافه و کامیت کرده‌اید، اما اگر به شما بگویم می‌توان آن را در یک خط با فلگ «am-» انجام داد، چه؟

$ git add .
$ git commit -m "new project"

در عوض این را امتحان کنید، تغییرات فایل را اضافه می کند و با استفاده از پیام، commit را ایجاد می کند.

$ git commit -am "new project"

[master 17d7675] new project
4 files changed, 2 insertions(+), 1 deletion(-)

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

تست واحد چیست؟

میکروسرویس چیست؟

2. اصلاح کردن (Amend)

می توانید نام پیام commit فعلی خود را با استفاده از فلگ «amend--» تغییر دهید و پیام جدید را بنویسید. این به شما در ارسال پیام های تصادفی کمک می کند.

$ git commit --amend -m "update"
master 7b7f891] Love
Date: Mon Jan 22 17:57:58 2024 +0500
4 files changed, 2 insertions(+), 1 deletion(-)

می توانید قبل از push کردن آن به ریپازیتوری راه دور، تغییرات اضافی را در commit فعلی وارد کنید. برای انجام این کار، باید تغییرات فایل را اضافه کنید و سپس با استفاده از فلگ `--amend` commit کنید. برای حفظ پیام commit قبلی، به سادگی از فلگ «no-edit--» استفاده کنید.

$ git add . 
$ git commit --amend --no-edit

[master f425059] Love
Date: Mon Jan 22 17:57:58 2024 +0500
6 files changed, 2 insertions(+), 34 deletions(-)

3. Remote History را لغو کنید

اگر می‌خواهید یک commit محلی را push کند و تاریخچه راه دور را بدون رسیدگی به مشکلات لغو کنید، می‌توانید از فلگ «force--» استفاده کنید. با این حال، توجه به این نکته مهم است که استفاده از فلگ force توصیه نمی‌شود و تنها زمانی باید از آن استفاده کرد که کاملاً از کاری که انجام می‌دهید مطمئن باشید. به خاطر داشته باشید که استفاده از فلگ force، تاریخچه راه دور را بازنویسی می کند.

$ git push origin master --force
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 357 bytes | 357.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/kingabzpro/VSCode-DataCamp.git
8f184d5..f425059  master -> master

داکر چیست؟ آشنایی با داکر و کانتینر

4. برگردان Revert

برای لغو یک commit در Git، می توانید از دستور 'revert' استفاده کنید. با این حال، این دستور هیچ commitی را حذف نمی کند. در عوض، یک commit جدید ایجاد می کند که تغییرات ایجاد شده توسط commit اصلی را خنثی می کند.

ما از «log» با فلگ «oneline--» برای مشاهده تاریخچه commit به شکل کوتاه‌تر استفاده می‌کنیم.

$ git log --oneline
f425059 (HEAD -> master, origin/master) update
8f184d5 first commit

برای بازگشت به commit قبلی، از دستور "git revert" و سپس شناسه commit استفاده می کنیم. این یک commit جدید با تغییرات commit قبلی ایجاد می کند.

$ git revert 8f184d5

5. Code Spaces

آیا می خواهید بهره وری خود را در GitHub افزایش دهید؟ با GitHub Code Spaces، اکنون می توانید کد خود را مستقیماً در مرورگر خود ویرایش و اجرا کنید.

برای دسترسی به این ویژگی، کافی است به ریپازیتوری مورد علاقه خود بروید، کلید نقطه (") را روی صفحه کلید خود فشار دهید و شما را به VSCode UI هدایت می کند.

می توانید تغییراتی در کد ایجاد کنید و آنها را به ریپازیتوری راه دور خود push کنید. با این حال، اگر می خواهید کد را در ترمینال اجرا کنید، باید Codespace را در فضای ابری اجرا کنید. نسخه رایگان یک گزینه عالی برای اجرای کد PHP یا هر زبان دیگر در مرورگر شما ارائه می دهد.

6. مخفی کردن Stash

هنگام کار بر روی یک پروژه، می توانید فایل ها را به یک منطقه مرحله بندی اضافه کنید و سپس آنها را برای ذخیره پیشرفت فعلی خود کامیت کنید. با این حال، راه دیگری وجود دارد که می توانید کار خود را با استفاده از دستور "stash" به راحتی ذخیره کنید. وقتی از «stash» استفاده می‌کنید، پیشرفت فعلی خود را بدون اضافه کردن آن به قسمت مرحله‌بندی یا انجام آن ذخیره می‌کنید. این به شما امکان می دهد پیشرفت خود را ذخیره کرده و هر زمان که نیاز دارید آن را بازیابی کنید.

ما پیشرفت فعلی خود را با ارائه یک نام و پنهان کردن آن ذخیره خواهیم کرد.

$ git stash save new-idea
 

Saved working directory and index state On master: new-idea

می توانید فهرست ذخیره خود را مشاهده کرده و برای بازیابی آن، فهرست مربوطه را یادداشت کنید.

$ git stash list
 

stash@{0}: On master: new-idea

ذخیره ما از "new-idea" در id=0 ذخیره می شود. برای بازیابی آن، از این دستور استفاده کنید:

$ git stash apply 0
 

On branch master
Your branch is up to date with 'origin/master'.

7. تغییر نام شاخه

شما می توانید نام شاخه پیش فرض خود را به چیزی مناسب تر تغییر نام دهید. در این صورت نام "master" را به "main" تغییر می دهیم.

$ git branch -M main

با استفاده از دستور زیر می توانید تغییرات را تأیید کنید:

$ git status
 

On branch main
Your branch is up to date with 'origin/master'.

8. تزیین Logs

اگر می خواهید تاریخچه دقیقی از تمام commit های انجام شده در ریپازیتوری فعلی مشاهده کنید، می توانید از دستور git log استفاده کنید. با این حال، خواندن خروجی ممکن است دشوار باشد. برای خوانایی بیشتر، می‌توانید از فلگ‌های «graph»، «decorate» و «oneline» استفاده کنید. این تغییرات ایجاد شده در چندین شاخه و نحوه ادغام آنها را نشان می دهد.

$ git log --graph --decorate --oneline

9. برگشت بین شاخه ها

چندین بار به شاخه جدید تغییر داده ام و نام شاخه قبلی را فراموش کرده ام. در نتیجه، مجبور شدم از دستور git branch -a برای مشاهده لیست نام شلخه ها استفاده کنم. با این حال، راه ساده‌تری برای بازگشت به شاخه اصلی با استفاده از خط تیره «-» پس از دستور «git checkout» وجود دارد.

ابتدا شاخه جدید "Git neo" را ایجاد می کنیم.

$ git branch neo

ما به شاخه "neo" تغییر می کنیم.

$ git checkout neo
 

Switched to branch 'neo'

برای بازگشت به شاخه اصلی از دستور زیر استفاده می کنیم:

$ git checkout -
 

Switched to branch 'main'

10. تغییرات از راه دور را کپی کنید

ما در مورد نادیده گرفتن ریپازیتوری راه دور یاد گرفته ایم. بیایید یاد بگیریم که چگونه با استفاده از ریپازیتوری راه دور، ریپازیتوری محلی را نادیده بگیریم.

ما از دستور "fetch" برای دریافت آخرین تغییرات از ریپازیتوری راه دور استفاده خواهیم کرد.

$ git fetch origin

سپس، از دستور «reset» با فلگ «hard» برای لغو هرگونه تغییر محلی در نسخه راه دور استفاده می‌کنیم. لطفاً توجه داشته باشید که با این کار هرگونه تغییرات محلی برای همیشه کنار گذاشته می‌شود.

$ git reset --hard origin/master
 

HEAD is now at f425059 Love

اگر هنوز فایل های ردیابی نشده وجود دارد، می توان آنها را با استفاده از دستور زیر حذف کرد:

$ git clean -df

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

نتیجه

در این مقاله، تکنیک‌های پیشرفته Git را پوشش داده‌ایم که برای برنامه نویس هایی که روی یک پروژه مشترک کار می‌کنند، حیاتی است. دانستن این تکنیک ها می تواند به شما کمک کند تا از مشکلات جلوگیری کنید و مشکلات را خیلی سریعتر حل کنید. اگر می خواهید با دستورات دیگر نیز آشنا شوید می توانید از این مقاله استفاده کنید.

#گیت#کامیت#stash_git#git_commend#دستورات_گیت
نظرات ارزشمند شما :

در حال دریافت...

مقاله های مشابه

در حال دریافت...