سؤال

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

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

نحن نعمل في بيئة مختلطة لأجهزة Mac/PC، لذا فإن Visual Source Safe أو أي شيء يعتمد على الكمبيوتر فقط لن يكون مقبولاً.أي مساعدة؟

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

المحلول

جميع أنظمة التحكم بالمصادر التي استخدمتها (CVS، Subversion، git) ستتعامل مع الملفات الثنائية بالإضافة إلى النصوص.إذا كنت تعمل مع مصممين يتمتعون بخبرة محدودة في التحكم في الإصدار، فإن Subversion الآن لديه خيار أفضل لواجهات المستخدم الرسومية.على جهاز الكمبيوتر، ليس هناك بديل ل السلحفاةSVN, وبالنسبة لنظام التشغيل Mac سمعت أشياء جيدة عنه الإصدارات.

نصائح أخرى

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

لقد استخدمت Subversion لبرامجي، والتي تتضمن رسومات، ويبدو أنها تتعامل معها بشكل جيد.(حسنًا، الاختلاف يمثل مشكلة، لكنني لم أسمع عن برنامج جيد لتمييز الصور.)

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

إن استخدام الوظائف الإضافية لـ Shell (Tortoise على Windows) يجعل هذا الأمر سهلاً إلى حد ما.ليس لدي أي خبرة مع عملاء Mac، ولكنني أتصور أن هناك خيارات متاحة.

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

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

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

ما زلت أستخدم Subversion، وفي نظام التشغيل Windows أستخدم TortoiseSVN الذي يتضمن TortoiseIDiff خصيصًا للنظر في الاختلافات بين ملفات الصور.

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

هناك الكثير من المشاريع رفيعة المستوى تستخدم الآن git، بما في ذلك Ruby on Rails.

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

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

يحتوي نظام Mac على ما يسمى "الإصدار" وهو عبارة عن واجهة مستخدم تخريبية مثل "Tortoise SVN" وقد وجدته سهل الاستخدام وفعالًا.

أنا أعمل في بيئة Mac/PC أيضًا (أطفال dang arty) والتخريب هو حقًا الطريق الصحيح.أحتفظ بجميع النصوص والصور والاستعلامات والأكواد هناك.

لقد وجد زملائي في العمل من غير التقنيين أنه سهل الاستخدام بمجرد أن شرحت لهم هذا المفهوم.

سأعطي بالتأكيد التخريب نظرة أخرى.أعلم أنه قد يكون مملًا، لكن قراءة كتاب SVN ستساعد كثيرًا.

أنا شخصياً أستخدم إصدارات Mac.يحتوي على واجهة مستخدم رائعة حقًا للتفاعل مع مستودع التخريب.

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

أعتقد أن svn يعد خيارًا رائعًا، ويمكن لبعض المستخدمين أيضًا استخدام git للقيام بالتفرع المحلي.أقوم بتشغيل Eclipse على جهاز Mac الخاص بي، لذلك أستخدم مجموعة من git، وسطر أوامر svn، و Subversive (مكون إضافي لـ Eclipse لـ svn).فيما يلي قائمة بعملاء mac svn (معظمهم عبر الأنظمة الأساسية)

http://scplugin.tigris.org/ مثل TortoiseSVN ولكن ليس غنيًا بالميزات)
http://subcommander.tigris.org/
http://rapidsvn.tigris.org/
http://www.versionsapp.com/
http://www.syncrosvnclient.com/ (غير مجاني 59 دولارًا)
http://www.lachoseinteractive.net/en/community/subversion/svnx/features/

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

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

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