it-swarm.asia

الشروع في العمل مع نظام Subversion أو Git أو نظام مماثل للتحكم في الإصدار للحفاظ على محفوظات الملفات الخاصة بي؟

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

31
Travis Northcutt

لست متأكدًا من مدى معرفتك باستخدام التحكم في الإصدار ، لكنني انتقلت مؤخرًا من SVN إلى GIT ووجدت أنه رائع!

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

أوصي بوضع بعض الوقت في الحصول على aquatinted مع GIT (إذا لم تكن بالفعل) ، أجد أنه من الأسهل وأقل متاعب من SVN عندما يتعلق الأمر بتغيير/إضافة الكثير من الملفات (على عكس SVN فإنه لا يضع غبي .svn folder في كل مكان ).

وبالتالي:

بالتأكيد ، أنا على جهاز Mac ، لذا آسف إذا لم يتم تطبيق أي من هذه.

محرر الكود: Coda GIT المثبتة من خلال المنافذ (باستخدام Porticus) Git: GitX

إذا أردت إعداد كل شيء جديد ، فسوف أفعل:

  1. تثبيت Coda

  2. تثبيت Porticus (والذي سيتطلب منك تثبيت المنافذ ، ولكن هناك معلومات في تلك الصفحة)

  3. بمجرد تثبيت Porticus ، افتحه مفتوحًا ، وابحث عن "git-core" وقم بتثبيت ذلك.

  4. تنزيل وتثبيت GitX 7-5

  5. هناك دليل جيد حول إعداد بوابة الريبو هنا ، ولكن في الأساس: 1. افتح المحطة الطرفية. 2. cd إلى حيث تريد أن يقيم موقعك. $: mkdir mysite && cd mysite 3. $: git init وهذا كل شيء! إذا قمت بإضافة ملفات إلى هذا المجلد ، فتابع إلى الخطوة التالية

  6. بمجرد قيامك بإعداد مستودع GIT محليًا (المقالة أعلاه) ، ثم إذا فتحت هذا الدليل في GitX ، فستتمكن من ارتكاب أشياء إلخ. إلخ.

يمكن أن يكون إعداد كل شيء على الخادم أمرًا صعبًا بعض الشيء ، ولدي حساب على MediaTemple وحساب Dreamhost وكلاهما لديه GIT خارج الصندوق. يخبرك الرابط في 5. كيفية إضافة ريبو عن بعد ، هل لا يتعين عليك القيام بذلك حتى تريد إحضار موقعك المباشر إلى المعادلة. أوصي بتشغيل كل شيء محليًا أولاً (على عكس SVN ، لا يتطلب GIT مستودعًا عن بُعد ، حتى تتمكن من استخدام كل شيء على جهازك في الوقت الحالي)

14
Joe Hoyle

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

المكونات الإضافية

نظرًا لاستضافة المكونات الإضافية بالفعل على خادم WordPress ، فقد قمت فقط بمراجعة مكون إضافي مباشرة إلى دليل /wp-content/plugins/ الخاص بتثبيت WordPress المحلي الخاص بي (أقوم بتشغيل WAMP في مربع التطوير الخاص بي). بعد ذلك ، أجري تغييرات على نسختي المحلية ، وعندما أكون جاهزًا لشوتايم ، التزم بالمستودع. إنها عملية سلسة هناك ، لا تحميل/تنزيل والتحقق الفوري الذي عملت به التغييرات.

المواضيع

المظاهر مختلفة بعض الشيء ، لا سيما عند البناء للعميل. أقوم بإنشاء مستودع محلي (لدي قسم R على محرك الأقراص الثابتة الخاص بي لهذا الغرض على وجه التحديد) وتحقق من مستودع التخزين الفارغ مباشرة إلى دليل /wp-content/themes الخاص بي. ثم أجري التغييرات حسب الحاجة وأتطور حتى تصبح جاهزة ، مع إجراء مراجعات أثناء التنقل.

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

أدوات

كما قلت ، استخدم WAMP على الجهاز المحلي لتشغيل تثبيت تطوير WordPress. إنه يعمل بشكل مثالي على صندوقي ويسمح لي بتشغيل أكبر عدد ممكن من مثيلات WordPress التي أحتاجها لمشروع معين.

بالنسبة إلى SVN ، أستخدم السلحفاة SVN . إنه مجاني وسهل الاستخدام بشكل ملحوظ ، ويتكامل مع بنية الملفات والقيادة في Windows. التحديث والالتزام والتصدير كلها عمليات بسيطة انقر بزر الماوس الأيمن ، وحدد عمليات الأمر. يتيح لك استخدام "تصدير" إرسال المجلد بالكامل (بدون مجلدات .svn المزعجة) مباشرةً إلى أي مكان تختاره - أنا كثيرًا ما أصدّر إلى سطح المكتب. يعد ضغط المجلد أيضًا عملية النقر بزر الماوس الأيمن ، ويتولى WordPress التحميل.

يمكن أن يكون نقل الملفات يدويًا مشكلة ، خاصة إذا واصلت تغيير ملف واحد ولكن ليس جميعها. إذا كنت بدلاً من ذلك FTP عبر الدليل بأكمله مع تحديد "الكتابة فوق الكل" ، فمن الأسهل بكثير استبدال الملفات القديمة (وليس عليك تتبع أي من التغييرات التي لم تتغير). يشبه التثبيت القديم لمدة 5 دقائق الذي اعتاد أن يستخدمه WordPress - فقط استبدل كل شيء بالإصدار الجديد.

8
EAMann

شخصيا ، أعتقد أنه تمرين ممتع لتثبيت SVN/GIT وإدارته ، ولكن إذا كان بإمكانك تغيير 15 دولارًا في الشهر ، فإن Beanstalk يستحق كل قرش. يديرون الخادم بأكمله لك. http://beanstalkapp.com/ أدوات نشر FTP رائعة. تقوم Mine تلقائيًا بنشر الإصدار على خادم التدريج عندما ألتزم على سبيل المثال

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

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

أفضِّل SVN لأنني لا أحتاج إلى كل عمليات التوصيل التي يعد GIT كبيرة جدًا بها ، وهناك أدوات واجهة المستخدم الرسومية المتاحة من SVN.

3
Andrew

يعجبني Aptana كثيرًا ، به ميزة "التخريب" المدمجة ويمكنك الاتصال بخادمك بسهولة مع ftp/sftp ودفع الملفات لأعلى ، وهي ميزة أخرى رائعة أنه إذا قمت بإنشاء مشروع php جديد وقمت بتضمين مجلد WordPress "بالكامل" (مع wp-admin ، يتضمن wp-) تحصل على إكمال التعليمات البرمجية في ملفات السمات الخاصة بك.

في الإعداد الخاص بي يكون الريبو محليًا.

2
Amit

أنت تسأل عن "لكنني أبحث عن أمثلة محددة من عمليات الإعداد/سير العمل التي يستخدمها الأشخاص للاحتفاظ بسجل إصدار للملفات التي تم تحريرها على موقع WordPress" لكنك ذكرت أيضًا المنتجات :)

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

ولكن للحصول على الأمثلة العامة/الإعدادات/سير العمل:

بالنسبة للمبتدئين: هناك أنماط CM ، مستقلة تمامًا عن الأدوات. Google on CM Patterns ، والكثير من الكتب الموجودة هناك ، وحتى مجتمعات wiki على سبيل المثال http://www.cmcrossroads.com/forums .

هناك أيضًا أدلة حول إعداد استراتيجية دفق صالحة (استراتيجية دفق google) ، إلخ ...

لا أعتقد أن هناك أي شيء خاص حول عمليات نشر WordPress مقارنةً بـ CM Management ، بما في ذلك التطوير المتوازي الموزع على مصانع Siebel الكبيرة و SAP و Informatica و Java وغيرها. انها حقا الافتراضي تقريبا.

ما هو مفقود ، في اعتقادي ، هو أنه لا أحد لديه خطة CMplan لتطوير WordPress (حتى الآن) (IEEE). بمجرد قيام شخص ما بذلك (أداة مستقلة). أعتقد أنه يمكن ملء المتطلبات بأي وسيلة.

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

تبدأ خطة CMP بتحديد جميع CI بمعنى آخر: قم بعمل قائمة بجميع أنواع CI الموجودة في تطبيق WordPress بما في ذلك التطبيقات والإضافات وقاعدة البيانات والوثائق والمساعدة والتعليم والمحتوى وملفات التكوين (!) ، إلخ. ..). هذه بداية موفقة. ثم حدد ما الذي تريد إحضاره تحت CM.

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

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

ابحث لاحقًا فقط عن أداة للقيام CM على جانب واحد (والذي يتضمن إدارة الإصدار كأحد الأدوات) وتغيير أدوات الإدارة على الجانب الآخر (مما يجعلك عاقلًا).

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

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

1
edelwater

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

0
CAD bloke

أنا أستخدم بوابة. انه سهل. عليك أن تفهم الأمر البسيط مثل استنساخ ، comit ، دفع ، سحب وكنت على استعداد للذهاب. هذا هو الأساس.

eventhough ، إذا كنت تستخدم git it أكثر مثل تنسيق فريق للعمل على أحد المنتجات ، فهو مستوى آخر. ولكن في النهاية ، فإنه يستحق استخدام بوابة أو أي عنصر تحكم الإصدار. هناك realiable عندما يحدث القرف.

0
justjoe