10 تقنيات Git متقدمة - KDnuggets

10 تقنيات Git متقدمة - KDnuggets

عقدة المصدر: 3083811

10 تقنيات جيت المتقدمة
صورة من المؤلف
 

هل تساءلت يومًا عما يمكنك فعله لتبدو كمحترف أمام مديرك عند استخدام Git؟ في هذا المنشور، سنتعرف على 10 تقنيات واختصارات Git متقدمة ستجعلك أكثر كفاءة في إصدار التعليمات البرمجية وصيانتها ومشاركتها.

من المحتمل أنك تعرف بالفعل أساسيات الالتزام والدفع والسحب والتفرع باستخدام Git. ولكن هناك العديد من الأوامر والميزات الأقل شهرة التي يمكنها رفع مستوى مهاراتك. بعد قراءة هذا، سيكون لديك بعض الحيل الرائعة لإبهار زملاء العمل بكفاءتك في استخدام Git.

لقد قمت بإضافة الملفات وتنفيذها بهذه الطريقة عدة مرات، ولكن ماذا لو أخبرتك أنه يمكن القيام بذلك في سطر واحد باستخدام العلامة `-am`؟ 

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

 

جرب هذا بدلاً من ذلك، وسيضيف تغييرات الملف وينشئ الالتزام باستخدام الرسالة. 

$ git commit -am "new project"

 

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

 

يمكنك إعادة تسمية رسالة الالتزام الحالية باستخدام العلامة `–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(-)

 

يمكنك تضمين تغييرات إضافية على الالتزام الحالي قبل دفعه إلى المستودع البعيد. للقيام بذلك، تحتاج إلى إضافة تغييرات الملف ثم الالتزام باستخدام العلامة `–amend`. للاحتفاظ برسالة الالتزام السابقة، ما عليك سوى استخدام العلامة `–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(-)

إذا كنت تريد دفع الالتزام المحلي وتجاوز السجل البعيد دون التعامل مع حل المشكلات، فيمكنك استخدام علامة `–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

للتراجع عن التزام في Git، يمكنك استخدام الأمر "revert". ومع ذلك، هذا الأمر لا يزيل أي التزامات. وبدلاً من ذلك، يقوم بإنشاء التزام جديد يلغي التغييرات التي أجراها الالتزام الأصلي.

سوف نستخدم "السجل" مع علامة "-oneline" لعرض سجل الالتزام في شكل أقصر. 

$ git log --oneline

 

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

 

للعودة إلى التزام سابق، نستخدم الأمر `git revert` متبوعًا بمعرف الالتزام. يؤدي هذا إلى إنشاء التزام جديد مع التغييرات من الالتزام السابق.

$ git revert 8f184d5

هل ترغب في زيادة إنتاجيتك على GitHub؟ باستخدام GitHub Code Spaces، يمكنك الآن تحرير التعليمات البرمجية الخاصة بك وتشغيلها مباشرةً في متصفحك. 

للوصول إلى هذه الميزة، ما عليك سوى الانتقال إلى المستودع المفضل لديك، والضغط على مفتاح النقطة (".") على لوحة المفاتيح، وسيعيد توجيهك إلى واجهة مستخدم VSCode.

 

10 تقنيات جيت المتقدمة
صورة من المؤلف
 

يمكنك إجراء تغييرات على التعليمات البرمجية ودفعها إلى مستودعك البعيد. ومع ذلك، إذا كنت تريد تشغيل التعليمات البرمجية في الجهاز، فأنت بحاجة إلى تشغيل Codespace في السحابة. يوفر الإصدار المجاني خيارًا ممتازًا لتشغيل كود Python الخاص بك في متصفحك. أليس هذا رائعا؟ لقد اكتشفت ذلك اليوم للتو.

 

10 تقنيات جيت المتقدمة
صورة من المؤلف

عند العمل على مشروع، يمكنك إضافة ملفات إلى منطقة التدريج ثم إلزامها لحفظ تقدمك الحالي. ومع ذلك، هناك طريقة أخرى لحفظ عملك بسهولة باستخدام الأمر "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'.

لديك خيار إعادة تسمية اسم الفرع الافتراضي الخاص بك إلى شيء أكثر ملاءمة. في هذه الحالة، سنقوم بإعادة تسمية "رئيسي" إلى "رئيسي". 

$ git branch -M main

 

10 تقنيات جيت المتقدمة
 

يمكنك التحقق من التغييرات باستخدام الأمر التالي: 

$ git status

 

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

إذا كنت تريد عرض سجل تفصيلي لجميع الالتزامات التي تم إجراؤها في المستودع الحالي، فيمكنك استخدام الأمر `git log`. ومع ذلك، قد يكون من الصعب قراءة الإخراج. ولجعلها أكثر قابلية للقراءة، يمكنك استخدام علامات "الرسم البياني" و"الديكور" و"الخط الواحد". سيعرض هذا التغييرات التي تم إجراؤها في فروع متعددة وكيفية دمجها.

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

 

10 تقنيات جيت المتقدمة

لقد قمت في عدة مناسبات بالتحويل إلى فرع جديد ونسيت اسم الفرع السابق. ونتيجة لذلك، اضطررت إلى استخدام الأمر git Branch -a لعرض قائمة أسماء الفروع. ومع ذلك، هناك طريقة أسهل للعودة إلى الفرع الأصلي باستخدام الشرطة "-" بعد الأمر `git checkout`.

سنقوم أولاً بإنشاء فرع Git الجديد "neo".

$ git branch neo

 

سوف ننتقل إلى الفرع "الجديد".

$ git checkout neo

 

Switched to branch 'neo'

 

للعودة إلى الفرع الأصلي، سنستخدم الأمر التالي:

$ git checkout -

 

Switched to branch 'main'

لقد تعلمنا كيفية تجاوز المستودع البعيد. دعونا نتعلم كيفية تجاوز المستودع المحلي باستخدام المستودع البعيد.

سنستخدم الأمر "fetch" للحصول على آخر التغييرات من المستودع البعيد. 

$ git fetch origin

 

بعد ذلك، سنستخدم الأمر "reset" مع علامة "hard" لتجاوز أي تغييرات محلية في الإصدار البعيد. يرجى ملاحظة أن هذا سيؤدي إلى تجاهل أي تغييرات محلية بشكل دائم.

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

إذا كانت لا تزال هناك ملفات لم يتم تعقبها، فيمكن إزالتها باستخدام الأمر التالي:

$ git clean -df

لقد ألهمتني كتابة هذا المقال بعد مشاهدة فيلم فيديو يوتيوب بواسطة فايرشيب. أنا معجب بالمبدع لقدرته على شرح المواضيع المعقدة بطريقة بسيطة. باتباع طريقته، تعلمت الكثير عن ميزات Git.

في هذه المقالة، قمنا بتغطية تقنيات Git المتقدمة التي تعتبر بالغة الأهمية لعلماء البيانات ومهندسي البرمجيات الذين يعملون في مشروع بيانات تعاوني. يمكن أن تساعدك معرفة هذه التقنيات في تجنب الحوادث وحل المشكلات بشكل أسرع.

أتمنى أن تجد هذه المدونة مفيدة. يرجى إعلامي إذا كنت ترغب في قراءة المزيد من المنشورات التي تحتوي على معلومات بحجم البايت حول الأدوات شائعة الاستخدام في عالم علوم البيانات.
 
 

عابد علي عوان (@ 1abidaliawan) هو عالم بيانات متخصص محترف يحب بناء نماذج التعلم الآلي. يركز حاليًا على إنشاء المحتوى وكتابة مدونات تقنية حول تقنيات التعلم الآلي وعلوم البيانات. عابد حاصل على درجة الماجستير في إدارة التكنولوجيا ودرجة البكالوريوس في هندسة الاتصالات. تتمثل رؤيته في بناء منتج للذكاء الاصطناعي باستخدام شبكة عصبية بيانية للطلاب الذين يعانون من مرض عقلي.

الطابع الزمني:

اكثر من KD nuggets