Mercurial: Difference between revisions

From binaryoption
Jump to navigation Jump to search
Баннер1
(@pipegas_WP)
 
(@pipegas_WP)
 
Line 1: Line 1:
=== Mercurial ===
=== Mercurial: دليل شامل للمبتدئين في عالم التحكم في الإصدار ===


'''Mercurial''' هو نظام [[التحكم في الإصدار الموزعة|التحكم في الإصدار]] (Distributed Version Control System أو DVCS) مجاني ومفتوح المصدر. يعتبر بديلاً قوياً لـ [[Git]] و [[Subversion]]، ويستخدم على نطاق واسع في مشاريع تطوير البرمجيات، ولكنه يكتسب شعبية متزايدة في مجالات أخرى تتطلب إدارة التغييرات بشكل فعال، بما في ذلك تطوير [[العملات المشفرة]] و [[العقود الذكية]].
'''مقدمة'''


== ما هو التحكم في الإصدار؟ ==
في عالم تطوير البرمجيات السريع والمتغير باستمرار، يصبح تتبع التغييرات في الكود وإدارة المشاريع بشكل فعال أمرًا بالغ الأهمية. هنا يأتي دور '''أنظمة التحكم في الإصدار''' (Version Control Systems - VCS). '''Mercurial''' هو أحد هذه الأنظمة، وهو نظام تحكم في الإصدار [[موزع]] (Distributed Version Control System - DVCS) مفتوح المصدر، يشتهر ببساطته وسرعته ومرونته. يهدف هذا المقال إلى تقديم شرح تفصيلي لـ Mercurial للمبتدئين، مع تغطية المفاهيم الأساسية والعمليات الشائعة.


قبل الغوص في تفاصيل Mercurial، من المهم فهم مفهوم [[التحكم في الإصدار]].  التحكم في الإصدار هو نظام لإدارة التغييرات التي تحدث في ملفات المشروع بمرور الوقت. يسمح لك بتتبع كل تعديل، والعودة إلى الإصدارات السابقة، والتعاون مع الآخرين بشكل فعال.  بدون نظام للتحكم في الإصدار، يصبح من الصعب للغاية إدارة حتى المشاريع الصغيرة، ناهيك عن المشاريع الكبيرة والمعقدة.  أنظمة التحكم في الإصدار المركزية (مثل [[Subversion]]) تحتفظ بمستودع مركزي واحد، بينما أنظمة التحكم في الإصدار الموزعة (مثل Mercurial و Git) تسمح لكل مطور بامتلاك نسخة كاملة من المستودع على جهازه المحلي.
== ما هو Mercurial؟ ==


== لماذا Mercurial؟ ==
Mercurial هو أداة قوية تسمح للمطورين بتتبع التغييرات في ملفاتهم بمرور الوقت. على عكس الأنظمة [[المركزية]] (Centralized Version Control Systems) مثل [[Subversion]]، يحتفظ Mercurial بنسخة كاملة من المستودع (Repository) على جهاز كل مطور. هذا يعني أنه يمكن للمطورين العمل بشكل مستقل، وإجراء التغييرات، والالتزام بها محليًا، ثم مشاركة التغييرات مع الآخرين عند الحاجة.


هناك العديد من الأسباب التي تجعل Mercurial خيارًا جذابًا:
'''فوائد استخدام Mercurial:'''


*  '''البساطة وسهولة الاستخدام:''' يعتبر Mercurial أسهل في التعلم والاستخدام مقارنة بـ [[Git]]، خاصة بالنسبة للمبتدئين.  واجهة سطر الأوامر الخاصة به بديهية نسبياً.
*  '''السرعة:''' Mercurial معروف بسرعته في العمليات الأساسية مثل الالتزام (Commit) والتحديث (Update).
*  '''الأداء:''' يعمل Mercurial بسرعة وكفاءة، حتى مع المشاريع الكبيرة.
*  '''المرونة:''' يدعم Mercurial مجموعة واسعة من سير العمل (Workflows)، مما يجعله مناسبًا لمجموعة متنوعة من المشاريع.
*  '''قابلية التوسع:''' يمكن لـ Mercurial التعامل مع المشاريع ذات الأحجام المختلفة والتعقيدات المختلفة.
*  '''البساطة:''' يتميز Mercurial بواجهة مستخدم بسيطة وسهلة التعلم.
*  '''المرونة:''' يدعم Mercurial مجموعة متنوعة من سير العمل، مما يجعله مناسبًا لمجموعة واسعة من المشاريع.
*  '''التوزيع:''' يسمح بالتطوير غير المتصل بالإنترنت والنسخ الاحتياطي التلقائي للبيانات.
*  '''التوافق:''' يمكن لـ Mercurial التكامل مع العديد من الأدوات والخدمات الأخرى، مثل [[GitHub]] و [[Bitbucket]].
*  '''قابلية التوسع:''' يمكن لـ Mercurial التعامل مع المشاريع الكبيرة والمعقدة بكفاءة.


== المفاهيم الأساسية في Mercurial ==
== المفاهيم الأساسية ==


*  '''المستودع (Repository):''' هو المكان الذي يتم فيه تخزين جميع ملفات المشروع وتاريخ التغييرات.
*  '''المستودع (Repository):''' هو المكان الذي يتم فيه تخزين جميع ملفات المشروع وتاريخ التغييرات.
*  '''الالتزام (Commit):''' هو تسجيل التغييرات التي تم إجراؤها على الملفات.  كل التزام له معرف فريد ورسالة تصف التغييرات.
*  '''الالتزام (Commit):''' هو تسجيل مجموعة من التغييرات في المستودع.
*  '''التفرع (Branch):''' هو نسخة منفصلة من خط التطوير الرئيسي. يسمح لك بالتجربة مع ميزات جديدة أو إصلاحات للأخطاء دون التأثير على الكود الرئيسي.
*  '''التفرع (Branch):''' هو خط تطوير منفصل عن الخط الرئيسي. يستخدم للتجريب أو تطوير ميزات جديدة دون التأثير على الكود الرئيسي. [[تفرع Git]] يعتبر مثالاً شائعاً.
*  '''الدمج (Merge):''' هو عملية دمج التغييرات من فرع واحد إلى فرع آخر.
*  '''الدمج (Merge):''' هو دمج التغييرات من فرع واحد في فرع آخر.
*  '''التبديل (Switch):''' هو عملية الانتقال بين الإصدارات المختلفة من المستودع.
*  '''التحديث (Update):''' هو جلب أحدث التغييرات من المستودع البعيد إلى المستودع المحلي.
*  '''الدفع (Push):''' هو إرسال التغييرات المحلية إلى المستودع البعيد.
*  '''السحب (Pull):''' هو جلب التغييرات من المستودع البعيد إلى المستودع المحلي.
*  '''مجموعة التغييرات (Changeset):''' هي مجموعة من التغييرات التي تم إجراؤها في التزام واحد.


== العمليات الأساسية في Mercurial ==
== العمليات الأساسية في Mercurial ==


| العملية | الوصف |
| العملية | الوصف | الأمر |
|---|---|
|---|---|---|
| `hg init` | تهيئة مستودع Mercurial جديد. |
| تهيئة مستودع جديد | إنشاء مستودع جديد للمشروع | `hg init` |
| `hg clone <url>` | نسخ مستودع موجود. |
| إضافة ملفات إلى المستودع | إضافة ملفات جديدة أو معدلة إلى منطقة التدريج (Staging Area) | `hg add` |
| `hg add <file>` | إضافة ملف إلى المستودع. |
| الالتزام بالتغييرات | تسجيل التغييرات في المستودع | `hg commit -m "رسالة الالتزام"` |
| `hg commit -m "رسالة الالتزام"` | تسجيل التغييرات في المستودع. |
| تحديث المستودع | جلب أحدث التغييرات من المستودع البعيد | `hg pull` ثم `hg update` |
| `hg pull` | جلب التغييرات من مستودع بعيد. |
| دفع التغييرات | إرسال التغييرات المحلية إلى المستودع البعيد | `hg push` |
| `hg push` | إرسال التغييرات إلى مستودع بعيد. |
| سحب التغييرات | جلب التغييرات من المستودع البعيد ودمجها في المستودع المحلي | `hg pull` ثم `hg merge` |
| `hg branch <اسم_الفرع>` | إنشاء فرع جديد. |
| إنشاء فرع جديد | إنشاء فرع جديد للتطوير | `hg branch اسم_الفرع` |
| `hg merge` | دمج التغييرات من فرع آخر. |
| التبديل بين الفروع | التبديل إلى فرع مختلف | `hg update اسم_الفرع` |
| `hg update <revision>` | التبديل إلى إصدار معين. |
| دمج فرع في فرع آخر | دمج التغييرات من فرع واحد في فرع آخر | `hg merge اسم_الفرع` |
| عرض السجل | عرض تاريخ التغييرات في المستودع | `hg log` |


== Mercurial وتطوير العملات المشفرة ==
== سير العمل الشائع ==


يستخدم Mercurial بشكل متزايد في تطوير [[العملات المشفرة]] و [[البلوك تشين]]. على سبيل المثال، يستخدم [[Bitcoin]] نظام التحكم في الإصدار Git، ولكن Mercurial خيار قابل للتطبيق أيضًا. تساعد أنظمة التحكم في الإصدار المطورين على:
عادةً ما يبدأ المطورون العمل بإنشاء مستودع جديد أو استنساخ (Clone) مستودع موجود. ثم يقومون بإجراء التغييرات في ملفاتهم، وإضافة الملفات المعدلة إلى منطقة التدريج، والالتزام بالتغييرات. يمكن للمطورين بعد ذلك دفع التغييرات إلى المستودع البعيد أو سحب التغييرات من المستودع البعيد.


*  تتبع التغييرات في الكود الأساسي للعملة المشفرة.
'''مثال على سير العمل:'''
*  التعاون مع المطورين الآخرين في جميع أنحاء العالم.
*  مراجعة الكود وتحديد الأخطاء المحتملة.
*  إدارة الإصدارات المختلفة من الكود.


== أدوات مساعدة لـ Mercurial ==
1.  `hg clone <عنوان_المستودع>`: استنساخ المستودع البعيد.
2.  `hg update`: التأكد من أن المستودع المحلي محدث.
3.  `hg add <اسم_الملف>`: إضافة ملف جديد أو معدل.
4.  `hg commit -m "إصلاح خطأ في الوظيفة X"`: الالتزام بالتغييرات.
5.  `hg push`: دفع التغييرات إلى المستودع البعيد.


هناك العديد من الأدوات المتاحة التي يمكن أن تسهل العمل مع Mercurial، بما في ذلك:
== أدوات واجهات المستخدم الرسومية ==


*  '''TortoiseHg:'''  واجهة رسومية لـ Mercurial لنظام التشغيل Windows.
بالإضافة إلى سطر الأوامر، يتوفر عدد من أدوات واجهات المستخدم الرسومية (GUI) لـ Mercurial، مثل:
*  '''Hg Extensions:'''  إضافات تمدد وظائف Mercurial.
*  '''Visual Studio Code Extension:'''  امتداد لـ Visual Studio Code يوفر دعمًا لـ Mercurial.


== استراتيجيات تداول العملات المشفرة ذات الصلة ==
*  '''TortoiseHg:''' واجهة مستخدم رسومية متكاملة مع Windows Explorer.
*  '''SourceTree:''' أداة مجانية من Atlassian تدعم Mercurial و Git.
*  '''HgView:''' أداة بسيطة لعرض سجل Mercurial.


== مقارنة Mercurial مع Git ==
'''Git''' هو نظام تحكم في الإصدار [[الموزع]] الأكثر شعبية حاليًا. بينما يشترك Mercurial و Git في العديد من الميزات الأساسية، إلا أنهما يختلفان في بعض الجوانب الرئيسية:
*  '''البنية الداخلية:''' يختلف هيكل البيانات الداخلي بين النظامين.
*  '''الأداء:''' يعتبر Mercurial أسرع في بعض العمليات، بينما يعتبر Git أسرع في عمليات أخرى.
*  '''سهولة الاستخدام:''' يعتبر Mercurial أسهل في التعلم والاستخدام للمبتدئين.
*  '''الشعبية:''' يتمتع Git بشعبية أكبر بكثير، مما يعني وجود المزيد من الموارد والدعم المتاح.
== استراتيجيات التداول والتحليل الفني ==
على الرغم من أن Mercurial هو نظام تحكم في الإصدار، إلا أن فهم المفاهيم المتعلقة بإدارة المخاطر والتداول يمكن أن يكون مفيدًا للمطورين الذين يعملون على مشاريع تتطلب دقة عالية وموثوقية. بعض الاستراتيجيات ذات الصلة تشمل:
*  [[استراتيجية المتوسط المتحرك]]
*  [[استراتيجية الاختراق]]
*  [[تحليل Fibonacci]]
*  [[تحليل حجم التداول]]
*  [[مؤشر القوة النسبية RSI]]
*  [[مؤشر الماكد MACD]]
*  [[استراتيجية التداول المتأرجح]]
*  [[استراتيجية سكالبينج]]
*  [[التحليل الأساسي]]
*  [[التحليل الفني]]
*  [[التحليل الفني]]
*  [[التحليل الأساسي]]
*  [[تداول الاتجاه]]
*  [[تداول الاختراق]]
*  [[تداول النطاق]]
*  [[تداول أنماط الشموع اليابانية]]
*  [[تداول الأخبار]]
*  [[تداول الخوارزمية]]
*  [[تداول المارجن]]
*  [[تداول العقود الآجلة]]
*  [[تداول الخيارات]]
*  [[تداول العقود الدائمة]]
*  [[التحليل الكمي]]
*  [[إدارة المخاطر]]
*  [[إدارة المخاطر]]
*  [[تنويع المحفظة]]
*  [[تنويع المحفظة]]
*  [[التحليل الموجي إليوت]]
*  [[تحليل الشموع اليابانية]]
*  [[استراتيجية الدعم والمقاومة]]


== تحليل حجم التداول ذو الصلة ==
== روابط مفيدة ==


*  [[حجم التداول]]
*  [[موقع Mercurial الرسمي]]: [https://www.mercurial-scm.org/](https://www.mercurial-scm.org/)
*  [[حجم الصفقات]]
*  [[وثائق Mercurial]]: [https://www.mercurial-scm.org/docs](https://www.mercurial-scm.org/docs)
*  [[عمق السوق]]
*  [[TortoiseHg]]: [https://tortoisehg.github.io/](https://tortoisehg.github.io/)
*  [[مؤشر التوازن في حجم التداول (OBV)]]
*  [[SourceTree]]: [https://www.sourcetreeapp.com/](https://www.sourcetreeapp.com/)
*  [[مؤشر التدفق النقدي (MFI)]]
*  [[أنظمة التحكم في الإصدار]]: [[أنظمة التحكم في الإصدار الموزعة]]، [[أنظمة التحكم في الإصدار المركزية]]
*  [[حجم التداول النسبي]]
*  [[Git]]: [[تفرع Git]]، [[دمج Git]]
*  [[Subversion]]: [[مستودع Subversion]]، [[تحديث Subversion]]
*  [[البرمجة]]: [[البرمجة الشيئية]]، [[هياكل البيانات]]
*  [[إدارة المشاريع]]: [[منهجية Agile]]، [[Scrum]]


== مراجع إضافية ==
'''الخاتمة'''


*  [[موقع Mercurial الرسمي]]: [http://www.selenic.com/mercurial/](http://www.selenic.com/mercurial/)
Mercurial هو أداة قوية ومرنة لإدارة المشاريع وتتبع التغييرات في الكود. على الرغم من أن Git قد يكون النظام الأكثر شعبية حاليًا، إلا أن Mercurial لا يزال خيارًا ممتازًا للمطورين الذين يبحثون عن نظام تحكم في الإصدار بسيط وسريع وسهل الاستخدام. نأمل أن يكون هذا المقال قد قدم لك فهمًا جيدًا لـ Mercurial وكيف يمكن استخدامه في مشاريعك.
*  [[وثائق Mercurial]]: [http://hgbook.red-bean.com/](http://hgbook.red-bean.com/)
*  [[مقدمة إلى Mercurial]]: [https://www.atlassian.com/git/tutorials/mercurial](https://www.atlassian.com/git/tutorials/mercurial)
*  [[مقارنة بين Git و Mercurial]]: [https://www.hostinger.com/tutorials/git-vs-mercurial](https://www.hostinger.com/tutorials/git-vs-mercurial)
*  [[استخدام Mercurial مع GitHub]]: [https://github.com/blog/2019-08-28-mercurial-support-on-github/](https://github.com/blog/2019-08-28-mercurial-support-on-github/)
*  [[التحكم في الإصدار]]
*  [[نظام إدارة الإصدارات الموزعة]]
*  [[Git]]
*  [[Subversion]]
*  [[GitHub]]
*  [[Bitbucket]]
*  [[العملات المشفرة]]
*  [[البلوك تشين]]
*  [[العقود الذكية]]
*  [[تطوير البرمجيات]]


[[Category:الفئة:أنظمة_التحكم_في_الإصدار]]
[[Category:الفئة:أنظمة_التحكم_في_الإصدار]]

Latest revision as of 05:05, 27 March 2025

Mercurial: دليل شامل للمبتدئين في عالم التحكم في الإصدار

مقدمة

في عالم تطوير البرمجيات السريع والمتغير باستمرار، يصبح تتبع التغييرات في الكود وإدارة المشاريع بشكل فعال أمرًا بالغ الأهمية. هنا يأتي دور أنظمة التحكم في الإصدار (Version Control Systems - VCS). Mercurial هو أحد هذه الأنظمة، وهو نظام تحكم في الإصدار موزع (Distributed Version Control System - DVCS) مفتوح المصدر، يشتهر ببساطته وسرعته ومرونته. يهدف هذا المقال إلى تقديم شرح تفصيلي لـ Mercurial للمبتدئين، مع تغطية المفاهيم الأساسية والعمليات الشائعة.

ما هو Mercurial؟

Mercurial هو أداة قوية تسمح للمطورين بتتبع التغييرات في ملفاتهم بمرور الوقت. على عكس الأنظمة المركزية (Centralized Version Control Systems) مثل Subversion، يحتفظ Mercurial بنسخة كاملة من المستودع (Repository) على جهاز كل مطور. هذا يعني أنه يمكن للمطورين العمل بشكل مستقل، وإجراء التغييرات، والالتزام بها محليًا، ثم مشاركة التغييرات مع الآخرين عند الحاجة.

فوائد استخدام Mercurial:

  • السرعة: Mercurial معروف بسرعته في العمليات الأساسية مثل الالتزام (Commit) والتحديث (Update).
  • المرونة: يدعم Mercurial مجموعة واسعة من سير العمل (Workflows)، مما يجعله مناسبًا لمجموعة متنوعة من المشاريع.
  • البساطة: يتميز Mercurial بواجهة مستخدم بسيطة وسهلة التعلم.
  • التوزيع: يسمح بالتطوير غير المتصل بالإنترنت والنسخ الاحتياطي التلقائي للبيانات.
  • قابلية التوسع: يمكن لـ Mercurial التعامل مع المشاريع الكبيرة والمعقدة بكفاءة.

المفاهيم الأساسية

  • المستودع (Repository): هو المكان الذي يتم فيه تخزين جميع ملفات المشروع وتاريخ التغييرات.
  • الالتزام (Commit): هو تسجيل مجموعة من التغييرات في المستودع.
  • التفرع (Branch): هو خط تطوير منفصل عن الخط الرئيسي. يستخدم للتجريب أو تطوير ميزات جديدة دون التأثير على الكود الرئيسي. تفرع Git يعتبر مثالاً شائعاً.
  • الدمج (Merge): هو دمج التغييرات من فرع واحد في فرع آخر.
  • التحديث (Update): هو جلب أحدث التغييرات من المستودع البعيد إلى المستودع المحلي.
  • الدفع (Push): هو إرسال التغييرات المحلية إلى المستودع البعيد.
  • السحب (Pull): هو جلب التغييرات من المستودع البعيد إلى المستودع المحلي.
  • مجموعة التغييرات (Changeset): هي مجموعة من التغييرات التي تم إجراؤها في التزام واحد.

العمليات الأساسية في Mercurial

| العملية | الوصف | الأمر | |---|---|---| | تهيئة مستودع جديد | إنشاء مستودع جديد للمشروع | `hg init` | | إضافة ملفات إلى المستودع | إضافة ملفات جديدة أو معدلة إلى منطقة التدريج (Staging Area) | `hg add` | | الالتزام بالتغييرات | تسجيل التغييرات في المستودع | `hg commit -m "رسالة الالتزام"` | | تحديث المستودع | جلب أحدث التغييرات من المستودع البعيد | `hg pull` ثم `hg update` | | دفع التغييرات | إرسال التغييرات المحلية إلى المستودع البعيد | `hg push` | | سحب التغييرات | جلب التغييرات من المستودع البعيد ودمجها في المستودع المحلي | `hg pull` ثم `hg merge` | | إنشاء فرع جديد | إنشاء فرع جديد للتطوير | `hg branch اسم_الفرع` | | التبديل بين الفروع | التبديل إلى فرع مختلف | `hg update اسم_الفرع` | | دمج فرع في فرع آخر | دمج التغييرات من فرع واحد في فرع آخر | `hg merge اسم_الفرع` | | عرض السجل | عرض تاريخ التغييرات في المستودع | `hg log` |

سير العمل الشائع

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

مثال على سير العمل:

1. `hg clone <عنوان_المستودع>`: استنساخ المستودع البعيد. 2. `hg update`: التأكد من أن المستودع المحلي محدث. 3. `hg add <اسم_الملف>`: إضافة ملف جديد أو معدل. 4. `hg commit -m "إصلاح خطأ في الوظيفة X"`: الالتزام بالتغييرات. 5. `hg push`: دفع التغييرات إلى المستودع البعيد.

أدوات واجهات المستخدم الرسومية

بالإضافة إلى سطر الأوامر، يتوفر عدد من أدوات واجهات المستخدم الرسومية (GUI) لـ Mercurial، مثل:

  • TortoiseHg: واجهة مستخدم رسومية متكاملة مع Windows Explorer.
  • SourceTree: أداة مجانية من Atlassian تدعم Mercurial و Git.
  • HgView: أداة بسيطة لعرض سجل Mercurial.

مقارنة Mercurial مع Git

Git هو نظام تحكم في الإصدار الموزع الأكثر شعبية حاليًا. بينما يشترك Mercurial و Git في العديد من الميزات الأساسية، إلا أنهما يختلفان في بعض الجوانب الرئيسية:

  • البنية الداخلية: يختلف هيكل البيانات الداخلي بين النظامين.
  • الأداء: يعتبر Mercurial أسرع في بعض العمليات، بينما يعتبر Git أسرع في عمليات أخرى.
  • سهولة الاستخدام: يعتبر Mercurial أسهل في التعلم والاستخدام للمبتدئين.
  • الشعبية: يتمتع Git بشعبية أكبر بكثير، مما يعني وجود المزيد من الموارد والدعم المتاح.

استراتيجيات التداول والتحليل الفني

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

روابط مفيدة

الخاتمة

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

ابدأ التداول الآن

سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер