نقل التغييرات غير الملتزم بها إلى فرع Git الجديد

نقل التغييرات غير الملتزم بها إلى فرع Git الجديد
نقل التغييرات غير الملتزم بها إلى فرع Git الجديد

إنشاء فرع جديد لعملك غير الملتزم به

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

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

يأمر وصف
git checkout -b <branch-name> إنشاء فرع جديد والتبديل إليه.
git add . مراحل جميع التغييرات غير الملتزم بها في دليل العمل.
git commit -m "message" ينفذ التغييرات المرحلية برسالة وصفية.
git checkout - يعود إلى الفرع الذي تم سحبه مسبقًا.
git reset --hard HEAD~1 يعيد تعيين الفرع الحالي إلى الالتزام السابق، مع تجاهل التغييرات.
#!/bin/bash يحدد أنه يجب تشغيل البرنامج النصي في bash Shell.

فهم سير عمل Git لإدارة العمل غير الملتزم به

في المثال الأول للبرنامج النصي، قمنا يدويًا بنقل التغييرات غير الملتزم بها إلى فرع جديد باستخدام سلسلة من أوامر Git. تبدأ العملية ب git checkout -b new-feature-branch، الذي يقوم بإنشاء فرع جديد يسمى "new-feature-branch" والتبديل إليه. يعد هذا ضروريًا لعزل عمل الميزة الجديدة عن الفرع الرئيسي. بعد ذلك، نقوم بتنظيم جميع التغييرات غير الملتزم بها باستخدام git add .. يضمن هذا الأمر أن جميع الملفات المعدلة والجديدة جاهزة للالتزام. وبعد هذا، git commit -m "Move uncommitted work to new feature branch" ينفذ الأمر هذه التغييرات على الفرع الجديد برسالة تشرح الإجراء.

بعد تأمين التغييرات في الفرع الجديد نعود إلى الفرع الأصلي مع git checkout original-branch. لإعادة تعيين الفرع الأصلي إلى حالته السابقة، نستخدم git reset --hard HEAD~1. يقوم هذا الأمر بإعادة تعيين الفرع بقوة إلى الالتزام السابق، مع تجاهل أي تغييرات تم إجراؤها منذ ذلك الحين. تضمن سلسلة الأوامر هذه الحفاظ على العمل على الميزة الجديدة في الفرع الخاص بها أثناء إعادة تعيين الفرع الأصلي إلى حالة نظيفة.

أتمتة العملية باستخدام برنامج Shell النصي

يقوم مثال البرنامج النصي الثاني بأتمتة هذه العملية باستخدام برنامج نصي Shell. يبدأ البرنامج النصي بالتحقق من توفير اسم فرع جديد if [ -z "$1" ]; then، والذي يخرج من البرنامج النصي إذا لم يتم ذكر اسم. المتغير NEW_BRANCH=$1 يعين اسم الفرع المقدم لمتغير. يقوم البرنامج النصي بعد ذلك بإنشاء هذا الفرع الجديد والتبديل إليه باستخدام git checkout -b $NEW_BRANCH. يتم تنظيم كافة التغييرات غير الملتزم بها باستخدام git add .، وملتزم بها git commit -m "Move uncommitted work to $NEW_BRANCH".

بعد تنفيذ التغييرات، يعود البرنامج النصي إلى الفرع السابق باستخدام git checkout -. الأمر النهائي git reset --hard HEAD~1 يعيد تعيين الفرع الأصلي إلى التزامه السابق، مما يضمن أنه نظيف وخالي من التغييرات التي تم نقلها إلى الفرع الجديد. يوفر برنامج Shell النصي طريقة ملائمة لأتمتة عملية نقل العمل غير الملتزم به إلى فرع جديد وإعادة تعيين الفرع الحالي، مما يسهل إدارة سير العمل في Git.

نقل التغييرات غير الملتزم بها إلى فرع جديد في Git

باستخدام سطر الأوامر جيت

# Step 1: Create a new branch and switch to it
git checkout -b new-feature-branch

# Step 2: Stage all uncommitted changes
git add .

# Step 3: Commit the staged changes
git commit -m "Move uncommitted work to new feature branch"

# Step 4: Switch back to the original branch
git checkout original-branch

# Step 5: Reset the original branch to the previous commit
git reset --hard HEAD~1

نقل العمل إلى فرع جديد مع الحفاظ على التقدم

استخدام برنامج Shell النصي للأتمتة

#!/bin/bash

# Check if the user provided a branch name
if [ -z "$1" ]; then
  echo "Usage: $0 <new-branch-name>"
  exit 1
fi

NEW_BRANCH=$1

# Create and switch to the new branch
git checkout -b $NEW_BRANCH

# Stage all uncommitted changes
git add .

# Commit the changes
git commit -m "Move uncommitted work to $NEW_BRANCH"

# Switch back to the original branch
git checkout -

# Reset the original branch
git reset --hard HEAD~1

إنشاء وإدارة فروع الميزات في Git

عند العمل مع Git، من المهم الحفاظ على سير العمل منظمًا، خاصة عند تطوير ميزات جديدة. أحد أفضل الممارسات هو استخدام فروع الميزات. يتيح لك فرع الميزات العمل على ميزة جديدة بشكل مستقل عن قاعدة التعليمات البرمجية الرئيسية. يساعد هذا العزل على منع التعليمات البرمجية غير المكتملة أو غير المستقرة من التأثير على الفرع الرئيسي. لإنشاء فرع ميزة، استخدم الأمر git checkout -b feature-branch. لا يؤدي هذا إلى إنشاء الفرع فحسب، بل ينقلك إليه أيضًا، مما يضمن تنفيذ أي عمل جديد في السياق الصحيح.

بمجرد إنشاء فرع الميزة، يمكنك العمل على الميزة الجديدة دون التأثير على الفرع الرئيسي. يعد هذا مفيدًا بشكل خاص في بيئة تعاونية حيث يعمل العديد من المطورين على ميزات مختلفة في وقت واحد. عند اكتمال الميزة الخاصة بك واختبارها بدقة، يمكنك دمجها مرة أخرى في الفرع الرئيسي باستخدام git merge feature-branch. بهذه الطريقة، يحتوي الفرع الرئيسي فقط على كود ثابت وكامل. إذا كنت بحاجة إلى تحديث فرع الميزات الخاص بك بأحدث التغييرات من الفرع الرئيسي، فيمكنك استخدام git rebase main أثناء تواجدك في فرع الميزات الخاص بك، تأكد من تحديثه.

الأسئلة المتداولة حول إدارة فرع Git

  1. ما هو فرع الميزة؟
  2. فرع الميزات هو فرع منفصل تم إنشاؤه لتطوير ميزة جديدة بشكل مستقل عن قاعدة التعليمات البرمجية الرئيسية.
  3. كيف أقوم بإنشاء فرع جديد في جيت؟
  4. يمكنك إنشاء فرع جديد باستخدام git checkout -b branch-name.
  5. كيف يمكنني التبديل بين الفروع في جيت؟
  6. يستخدم git checkout branch-name للتبديل إلى فرع موجود.
  7. كيف يمكنني دمج فرع الميزة مرة أخرى في الفرع الرئيسي؟
  8. لدمج فرع الميزة، انتقل إلى الفرع الرئيسي واستخدمه git merge feature-branch.
  9. كيف أقوم بتحديث فرع الميزات الخاص بي بأحدث التغييرات من الفرع الرئيسي؟
  10. أثناء وجودك في فرع الميزات الخاص بك، استخدم git rebase main لدمج أحدث التغييرات.
  11. ماذا لو أردت حذف فرع بعد الدمج؟
  12. يمكنك حذف فرع باستخدام git branch -d branch-name.
  13. كيف أقوم بإدراج جميع الفروع في مستودعي؟
  14. يستخدم git branch لقائمة جميع الفروع.
  15. هل يمكنني إعادة تسمية فرع في Git؟
  16. نعم استخدم git branch -m old-name new-name لإعادة تسمية فرع.
  17. كيف يمكنني التحقق من الفرع الذي أتواجد فيه حاليًا؟
  18. يستخدم git status أو git branch لرؤية الفرع الحالي.
  19. ماذا يحدث إذا حاولت دمج فرع به تعارضات؟
  20. سيطالبك Git بحل التعارضات قبل إكمال الدمج. يستخدم git status لرؤية الملفات التي بها تعارضات وتحريرها وفقًا لذلك.

افكار اخيرة:

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