تعلم التحكم في الإصدار وتعلمه جيدًا [مغلق]

StackOverflow https://stackoverflow.com/questions/8747

  •  08-06-2019
  •  | 
  •  

سؤال

أين يجب أن أبدأ في التعرف على أنظمة التحكم في الإصدار؟لقد استخدمت SVN وTeam Foundation وSourcesafe في الماضي ولكني لا أشعر أنني أفهمها تمامًا، ويبدو أن فريقي لا يفهمها أيضًا.

ما هي النقاط الأكثر أهمية لإتقانها؟أدرك أن هذا يختلف من VCS إلى VCS، ولكن من أجل هذا السؤال يمكننا أن نفترض أن Subversion هو VCS الذي يهمني التعرف عليه أكثر.

وأيضًا، إذا أمكن، يرجى التوصية بأي كتب تجدها مفيدة حول هذا الموضوع.

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

المحلول

تعد مقالة ويكيبيديا حول التحكم في المراجعة مكانًا رائعًا للبدء

مراجعة مراقبة

عندما كنت أحاول تعليم زملائي، وجدت أن جعله يفهم المفردات في النهاية كان طريقة رائعة للبدء في تعريفه بتقنيات التحكم في الكود المصدري.

لا أعرف ما هو الفرع؟اذهب واكتشف كيفية عملها :)

يوجد كتاب تخريب مجاني على الإنترنت في التحكم في الإصدار مع التخريب الذي يوفر مرجعا لا يقدر بثمن.

نصائح أخرى

أعتقد أن أهم النقاط التي يجب على المرء أن يتعلمها فيما يتعلق بأنظمة التحكم في المصدر هي ما يلي:

  • قيمة عمليات تسجيل الوصول/الالتزامات الصغيرة والمتكررة
  • وضع العلامات والتفرع والدمج
  • التراجعات
  • حل الصراع
  • حصري مقابلالخروج غير الحصري
  • التكامل المستمر
  • التطوير القائم على الاختبار واختبارات الوحدة الآلية مقابل أنظمة التحكم في المصدر
  • شوكة

إذا كنت قد قمت بتغطية هذه المفاهيم الرئيسية، فهذه هي معظم الأشياء التي ستحتاج إلى معرفتها للتحكم في المصدر :)

هناك بضعة كتب إلكترونية مجانية حول هذا الموضوع.يحاول:

التحكم في الإصدار مع التخريب: التحكم في الإصدار مع التخريب

التحكم في إصدار التخريب (PDF): التحكم في إصدار التخريب

لقد قرأت وسوف أوصي بالأول.لم أقرأ "التحكم في إصدار التخريب"، لكنه يبدو متعمقًا جدًا.

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

أعتقد أن وثائق التخريب هي مكان جيد للبدء.لقد وجدت أن ويكيبيديا لا تساعد حقًا، لأنها تغطي فقط وجهة نظر "أساسية".

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

ما ساعدني كثيرا هو دليل الاستخدام اليومي في وثائق TortoiseSVN;ويغطي أهم العمليات بأسلوب تعليمي.

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

لكن بالطبع، مازلت أتعلم أيضًا :)

أنا أيضًا، مثلك، لم أشعر مطلقًا بالراحة بنسبة 100% مع SVN أو SourceSafe.

الدفع زئبقي. بداية سريعة و اوراق الغش
أيضا عظيم ورقة الغش من DongWoo Lee (يبدو أن موقعه معطل لذا قمت بمسحه ضوئيًا وتحميله على موقعي)

مع Mercurial، بدا كل شيء أكثر سلاسة وسهولة ولست متأكدًا من السبب لأنه لا يختلف كثيرًا في الأوامر عن الآخرين.

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

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

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

الدفع شخص سخيف.حديث عليه هنا.

IMHO، سيكون أفضل مورد شبكة لإدارة التكوين مشروع أكمي بواسطة براد أبليتون

يجب أن تقرأ عن جميع أنماط SCM والأنماط المضادة.تم تعريف جميع المصطلحات الفنية الخاصة بـ SCM بشكل جيد على هذا الموقع وهناك العديد من المقالات حول تقنيات التفرع وSCM الذكية وغيرها من الأشياء المهمة.

من المحتمل أن يمنحك هذا خلفية نظرية كافية للتعامل مع أي أداة إصدار محددة.

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

IMHO، وهذا هو الكتاب:كتاب بيرشوك عن أنماط SCM

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