اذهب إلى المحتوى

الأسئلة العشرة الأكثر تكرارا حول Git


Shadi Habbal

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

git-faq.png

1. كيف أقوم بتحرير رسالة إيداع commit خاطئة في Git؟

وهو سؤال يطرح بكثرة من طرف كل من بدأ لتوّه باستخدام Git. لتحرير رسالة إيداع commit خاطئة قمنا بكتابتها، نستخدم الأوامر التالية:

git commit --amend 

سيقوم الأمر بفتح المحرّر الذي سيسمح بتغيير أحدث إيداع.

إن أردنا تحرير رسالة الإيداع مباشرة عبر سطر الأوامر، يمكننا القيام بذلك باستخدام الأمر:

git commit --amend -m "الرسالة الجديدة"

2. كيف أتراجع عن آخر إيداع commit كاملا؟

للتراجع عن إيداع بعض الملفّات نقوم في البداية بإلغاء آخر إيداع باستخدام الأمر:

git reset --hard HEAD~1

سيقوم هذا الأمر بنقل مؤشر الرأس HEAD إلى الإيداع قبل الأخير. بعد ذلك، نقوم بعرض حالة جميع الملفات مرّة أخرى باستخدام الأمر:

git status

وأخيرًا، نضيف الملفات التي نودّ إضافتها إلى الإيداع باستخدام الأمر:

git add ...

3. كيف أتراجع عن إضافة ملف git add؟

للتراجع عن إضافة بعض أو كل الملفّات إلى منطقة الإدراج بالأمر المذكور، نستخدم أحد الأوامر التالية:

للتراجع عن ملف وحيد:

git reset <FileName>

للتراجع عن جميع الملفّات:

git reset

4. كيف أحذف تفرع branch (محلي أو بعيد)؟

لحذف تفرّع محلّي، نستخدم الأمر:

git branch -d yourLocalBranchName

ولحذف تفرّع بعيد، نستخدم الأمر:

git push origin --delete yourRemoteBranchName

5. كيف أحذف ملفات محلية من التفرع الحالي

لحذف جميع الملفّات المحلّية التي لا نرغب بإيداعها أو الحفاظ عليها في مجلّد العمل، نستخدم الأمر:

git clean -f

أو:

git reset --hard

6. كيف أعيد تسمية تفرع محلي؟

لإعادة تسمية تفرّع محلّي، لدينا حالتان:

إعادة تسمية لتفرّع الحالي:

git branch -m newBranchName

إعادة تسمية تفرّع آخر ليس التفرّع النّشط الحالي:

git branch -m oldBranchName newBranchName

7. كيف أنشئ تفرعا بعيدا remote Git branch؟

لإنشاء تفرّع بعيد، نقوم أوّلًا بإنشاء تفرّع محلّي:

git checkout -b newBranchName

ومن ثم نقوم بدفع التفرّع الذي أنشأناه إلى الخادم البعيد:

git push origin newBranchName

8. كيف أغير الرابط الخاص بمستودع بعيد remote Git repository؟

لتغيير الرابط الخاص بمستودع بعيد (لنفترض أنه التفرّع origin) نستخدم الأمر التالي:

git remote set-url origin newURL

9. كيف أغير اسم من قام بالإيداع؟

يمكن تغيير اسم من قام بالإيداع في سجلّ المُستودع باستخدام السكربت التالي المأخوذ من مقالات موقع github.com:

git filter-branch --env-filter '

an="$GIT_AUTHOR_NAME"
am="$GIT_AUTHOR_EMAIL"
cn="$GIT_COMMITER_NAME"
cm="$GIT_COMMITTER_EMAIL"

if[ "$GIT_COMMITTER_EMAIL" = "your@email.to.match" ]
then
cn="New Committer Name"
cm="New Committer Email"
fi
if[ "$GIT_AUTHOR_EMAIL" = "your@email.to.match" ]
then
an="New Author Name"
am="New Author Email"
fi

export GIT_AUTHOR_NAME="$an"
export GIT_AUTHOR_EMAIL="$am"
export GIT_COMMITTER_NAME="$cn"
export GIT_AUTHOR_EMAIL="$cm"'

10. كيف أستنسخ مستودعا في مجلد معين؟

لاستنساخ مستودع في مجلّد معيّن، نحتاج إمّا:

الانتقال بمسار سطر الأوامر إلى داخل ذلك المجلّد وتنفيذ الأمر:

git clone <URL>

أو ننفّذ الأمر:

git clone <URL> <yourFolderName>

حيث أن yourFolderName هو اسم/مسار المُجلّد المعني بالأمر.

ترجمة -وبتصرّف- للمقال Top 10 frequently asked questions on Git لصاحبه Hemant Joshi.


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...