سؤال

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

على وجه الخصوص، أنا أبحث عن نصائح حول أفضل البرامج لاستخدامها وأفضل التقنيات لاستخدامها (الفروع، والفحص الداخلي والخارجي، وما إلى ذلك).أحتاج إلى تعلم أفضل الممارسات!)

هل كانت مفيدة؟

المحلول

أعلم أن لديك موقع Mercurial بالفعل ولكن المورد الأكثر فائدة بالنسبة لي هو كتاب زئبقي.إنها نظرة عامة ممتازة على البرنامج وكيفية استخدامه.

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

تحتوي الكثير من المشاريع على تقنيات مختلفة لارتكاب سير العمل.بعضها لديه تغييرات مدفوعة من المطورين، مثل الأنظمة المركزية، والبعض الآخر سوف يسحب التغييرات من المساهمين (لينكس، على سبيل المثال).من الصعب تعميم الكثير دون معرفة عملية مشروعك.

هذه هي الطريقة التي أقوم بها بالتطوير:

  • دعا شجرة مركزية على مشاركة الملفات أو المتشعب project-trunk أو project هذا هو الإصدار النهائي للمشروع
  • شجرة نظيفة على نظامي أقوم باستنساخها من المستودع البعيد واستخدامها للرجوع إلى المستودع.ثم أقوم بالاستنساخ من هذه الشجرة لإجراء تغييراتي.أنا أسمي هذه الشجرة project-local
  • استنساخ project-local شجرة لكل من التغييرات الخاصة بي:على سبيل المثال. project-addusers, project-141, ، إلخ.
  • بعد أن أنتهي من الالتزامات بالشجرة، أقوم بعد ذلك بدفع التغييرات إلى ملف project-local مخزن
  • وأخيرا، دفع التغييرات في project-local ل project-trunk

لدي نظيفة project-local Tree لأنه بعد ذلك يمكنني دفع جميع مجموعات التغييرات مرة أخرى إلى صندوق السيارة مرة واحدة، وهو أمر مفيد إذا كانت هناك مجموعة من التغييرات ذات الصلة التي تحتاج إلى دفعها معًا مرة أخرى.

أما بالنسبة للأدوات، فهذا يعتمد على النظام الأساسي الخاص بك.أنا فقط أستخدم أداة سطر أوامر الفانيليا.قادمًا من TortoiseSVN، كان الانتقال إلى سطر الأوامر بمثابة تغيير طفيف.ولكن أنا بخير معها الآن.لقد حاولت استخدام TortoiseHg لكنه لم يعمل بشكل جيد على جهازي الظاهري الذي يعمل بنظام التشغيل Windows 7 x64.سمعت أنه أفضل بكثير على الأنظمة الأساسية المدعومة 32 بت.

نصائح أخرى

هنا أ برنامج تعليمي مفيد على الزئبقي كتب بواسطة جويل سبولسكي.

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

الق نظرة على كتاب زئبقي, ، أو عند هذا البرنامج التعليمي الزئبقي.

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

مصدر جيد آخر للتعرف على فكرة التحكم بالمصادر "الموزعة" بالكامل هو: http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/ ...مع الرسوم البيانية مفيدة!

إذا كنت تستخدم أحدث السلحفاةHG العميل وتضمين دليل التثبيت في بيئة PATH الخاصة بك، ستتمكن من استخدام واجهة المستخدم الرسومية الرائعة التي يقدمونها وسطر الأوامر "hg"

لا أستطيع أن أوصي باستخدام ملحقات mq أكثر من اللازم.إنها توفر بيئة "مستودع عمل" رائعة.

أستخدم قوائم الانتظار لإدارة التغييرات المحلية مقابل مستودع التخريب.أقوم بإجراء تغييراتي المحلية قصيرة المدى وأستخدم الزئبق للبقاء متزامنًا مع Subversion وبقية الفريق.

تعتبر بعض منشورات مدونة Steve Losh جيدة، على الرغم من أن عمرها الآن عامين.إنهم يتعاملون بشكل أساسي مع كيفية العمل مع التفرع.

كما أنه يستحق النظر إليه hgtip.com موقع.

بالإضافة إلى كتاب Mercurial Book والبرنامج التعليمي Hg Init، أود أن أذكر الدليل المبني على الأمثلة الذي كتبته:

فهو يوضح كيفية البدء باستخدام Mercurial ويغطي أيضًا بعض المفاهيم الأكثر تقدمًا مثل الفروع المسماة وhgsubversion.لقد استخدمته عند تدريس Mercurial للمستخدمين الجدد ويبدو أنهم أعجبوا به.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top