ما الفرق بين جميع أنواع التحكم في الإصدار المختلفة؟

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

  •  08-06-2019
  •  | 
  •  

سؤال

بعد أن أخبرني ما لا يقل عن 10 أشخاص في SO أن التحكم في الإصدار كان أمرًا جيدًا حتى لو كنت أنا فقط، لدي الآن سؤال متابعة.

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

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

المحلول

إريك سينك لديه نظرة عامة جيدة على التحكم بالمصادر.هناك أيضا بعض موجود أسئلة هنا على SO.

نصائح أخرى

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

فيما يلي تلك التي أراها الأكثر استخدامًا:

  • svn - حاليا المصدر المفتوح الأكثر شعبية؟
  • git - حار جدًا منذ تحول Linus إليه
  • زئبقي - بعض الأشخاص الأذكياء الذين أعرفهم يقسمون به
  • السيرة الذاتية - الشخص الذي يتحول منه الجميع
  • بحكم الضرورة - إيمهو، أفضل الميزات، ولكنها ليست مفتوحة المصدر.لكن ترخيص المستخدمين مجاني.
  • visual sourcesafe - أنا لست مهتمًا كثيرًا بعالم Microsoft، لذا ليس لدي أي فكرة عن هذا، بخلاف الأشخاص الذين يحبون الحديث عنه كما يتحدثون عن كل شيء من Microsoft.
  • sccs - من أجل الفائدة التاريخية نذكر هذا، الجد الأكبر للعديد مما سبق
  • RCS - وجد العديد مما سبق

توصيتي:أنت أكثر أمانًا مع git أو svn أو perforce، نظرًا لأن الكثير من الأشخاص يستخدمونها، فهم متعددو المنصات، ولديهم واجهة مستخدم جيدة، ويمكنك شراء كتب عنها، وما إلى ذلك.

لا تنظر إلى السيرة الذاتية، وsccs، وrcs، فهي قديمة.

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

إلى الجميع الذين بدأوا للتو في استخدام التحكم في الإصدار:

من فضلك لا تستخدم git (أو hg أو bzr) بسبب الضجيج

استخدم git (أو hg أو bzr) لأنهم كذلك أدوات أفضل لإدارة التعليمات البرمجية المصدر من SVN.

لقد استخدمت SVN لبضع سنوات في العمل، وانتقلت إلى git منذ 6 أشهر.بدون تعلم SVN أولاً، سأضيع تمامًا عندما يتعلق الأمر باستخدام DVCS.

بالنسبة للأشخاص الذين بدأوا للتو في التحكم في الإصدار:

  • ابدأ بتنزيل SVN
  • يتعلم لماذا تحتاج إلى التحكم في الإصدار
  • تعرف على كيفية الالتزام، والخروج، والفرع
  • تعرف على سبب صعوبة الدمج في SVN

ثم قم بالتبديل إلى DVCS وتعلم:

  • كيفية استنساخ/فرع/الالتزام
  • ما مدى سهولة دمج فروعك مرة أخرى (اذهب إلى فرع مجنون!)
  • ما مدى سهولة إعادة كتابة سجل الالتزام والاحتفاظ بفروعك
    محدث مع الخط الرئيسي (جيت rebase -i, )
  • كيفية نشر تغييراتك حتى يتمكن الآخرون من الاستفادة

تلدر؛يحشد:

ابدأ بـ SVN وتعلم الأساسيات، ثم انتقل إلى DVCS.

سأبدأ بـ:

ثم بمجرد قراءتها، قم بتنزيلها وتثبيتها SVN, السلحفاةSVN وتصفح الفصول القليلة الأولى من الكتاب كتاب وابدأ.

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

تعتمد VCS المركزية على استخدام خادم مركزي، حيث يقوم الجميع "بفحص" المشروع، والعمل عليه، و"إرسال" تغييراتهم مرة أخرى إلى الخادم ليستخدمها أي شخص آخر.VCS المركزية الرئيسية هي CVS وSVN.وقد تعرض كلاهما لانتقادات شديدة لأن "دمج" "الفروع" أمر مؤلم للغاية بالنسبة لهما.[لكى يفعل:اكتب شرحًا عن الفروع ولماذا يصعب الدمج مع CVS & SVN]

تتيح VCS الموزعة للجميع الحصول على خادم خاص بهم، حيث يمكنك "سحب" التغييرات من أشخاص آخرين و"دفع" التغييرات إلى الخادم.أكثر أنظمة VCS الموزعة شيوعًا هي Git و Mercurial.[لكى يفعل:اكتب المزيد عن VCS الموزعة]

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

ال إجابة ل سؤال آخر ينطبق هنا أيضا، والأهم من ذلك

جون وركس قال:
أهم شيء في التحكم في الإصدار هو:

فقط ابدأ في استخدامه

إجابته تتطرق إلى مزيد من التفاصيل، ولا أريد أن أتهم بالسرقة، لذا ألقِ نظرة.

الجواب البسيط هو، هل تحب أزرار التراجع؟الجواب بالطبع نعم، لأننا كبشر نخطئ طوال الوقت.

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

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

أنا شخصيًا (على الرغم من أنه يمكن تسميتها مبالغة) أستخدم إصدار ترخيص مستخدم واحد مجاني من Source Gear Fortress (وهو منتج التحكم في مصدر Vault الخاص بهم مع ميزات تتبع الأخطاء).أجد أن واجهة المستخدم سهلة الاستخدام حقًا، فهي تدعم كلاً من نموذج الخروج > التحرير > تسجيل الدخول ونموذج التحرير > الدمج > الالتزام.قد يكون الإعداد صعبًا بعض الشيء، حيث يتطلب منك تشغيل نسخة محلية من ISS وSQL server.قد ترغب في تجربة برنامج أصغر، مثل تلك الموصى بها في الإجابات الأخرى هنا.ترى ما تريد وما يمكنك تحمله.

قال مارك:

git - حار جدًا منذ تحول Linus إليه

أريد فقط أن أشير إلى أن لينوس لم يتحول إليه يا لينوس كتب هو - هي.

إذا كنت تعمل بمفردك في بيئة Windows، فإن واحد ترخيص المستخدم لـ SourceGear's Vault مجاني.

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

التوثيق الزئبقي دليل غير رسمي

ما عليك سوى البدء في استخدام التحكم بالمصادر، بغض النظر عن النوع الذي تستخدمه.ما تستخدمه لا يهم؛إن استخدامه هو المهم

مثل أي شخص آخر، تعتمد SC حقًا على احتياجاتك وميزانيتك وبيئتك وما إلى ذلك.

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

يبدأ كل منتج موجود في التألق (إذا جاز التعبير) عندما تبدأ في النظر إلى الطريقة التي تريد بها أو تحتاج إلى دمج SC في بيئتك (سواء كان ذلك رمزًا شخصيًا ومستنداتك أو شركة كبيرة).وعندما يستخدمها الأشخاص، يكتشفون أن الأداة لها حدود، لذلك يكتب الأشخاص قيودًا جديدة.وُلدت SVN خارج القيود التي رآها المبدعون مع CVS.لقد أراد لينوس شيئًا أفضل لنواة Linux، لذا فقد حصلنا عليه الآن شخص سخيف.

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

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

انظر أيضًا سؤال SO هذا:

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