10 تکنیک پیشرفته Git - KDnuggets

10 تکنیک پیشرفته Git - KDnuggets

گره منبع: 3083811

10 تکنیک پیشرفته Git
تصویر از نویسنده
 

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

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

شما چندین بار فایل‌ها را به این روش اضافه و متعهد کرده‌اید، اما اگر به شما بگویم می‌توان آن را در یک خط با پرچم «-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(-)

 

می توانید نام پیام commit فعلی خود را با استفاده از پرچم `–amend` تغییر دهید و پیام جدید را بنویسید. این به شما در ارسال پیام های تصادفی کمک می کند.

$ git commit --amend -m "Love"

 

[master 7b7f891] Love
Date: Mon Jan 22 17:57:58 2024 +0500
4 files changed, 2 insertions(+), 1 deletion(-)

 

می توانید قبل از فشار دادن آن به مخزن راه دور، تغییرات اضافی را در 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(-)

اگر می‌خواهید یک commit محلی را فشار دهید و تاریخچه راه دور را بدون رسیدگی به مشکلات لغو کنید، می‌توانید از پرچم «–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

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

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

$ git log --oneline

 

f425059 (HEAD -> master, origin/master) Love
8f184d5 first commit

 

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

$ git revert 8f184d5

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

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

 

10 تکنیک پیشرفته Git
تصویر از نویسنده
 

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

 

10 تکنیک پیشرفته Git
تصویر از نویسنده

هنگام کار بر روی یک پروژه، می توانید فایل ها را به یک منطقه مرحله بندی اضافه کنید و سپس آنها را برای ذخیره پیشرفت فعلی خود متعهد کنید. با این حال، راه دیگری وجود دارد که می توانید کار خود را با استفاده از دستور "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

 

ذخیره ما از "ایده های جدید" در شاخص 0 ذخیره می شود. برای بازیابی آن، از این دستور استفاده کنید:

$ git stash apply 0

 

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

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

$ git branch -M main

 

10 تکنیک پیشرفته Git
 

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

$ git status

 

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

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

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

 

10 تکنیک پیشرفته Git

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

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

$ git branch neo

 

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

$ git checkout neo

 

Switched to branch 'neo'

 

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

$ git checkout -

 

Switched to branch 'main'

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

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

$ git fetch origin

 

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

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

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

$ git clean -df

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

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

امیدوارم این وبلاگ برای شما مفید بوده باشد. لطفاً اگر می‌خواهید پست‌های بیشتری را با اطلاعات اندازه بایت در مورد ابزارهای رایج در دنیای علم داده بخوانید، به من اطلاع دهید.
 
 

عابد علی اعوان (@1abidaliawan) یک متخصص دانشمند داده معتبر است که عاشق ساخت مدل های یادگیری ماشینی است. در حال حاضر، او بر تولید محتوا و نوشتن وبلاگ های فنی در زمینه یادگیری ماشین و فناوری های علم داده تمرکز دارد. عابد دارای مدرک کارشناسی ارشد در رشته مدیریت فناوری و مدرک کارشناسی در رشته مهندسی مخابرات است. چشم انداز او ساخت یک محصول هوش مصنوعی با استفاده از یک شبکه عصبی نمودار برای دانش آموزانی است که با بیماری های روانی دست و پنجه نرم می کنند.

تمبر زمان:

بیشتر از kdnuggets