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

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

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

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

في هذه المقالة ، سأقدم لك مراجعة سريعة لـ Git ، وهو نظام تحكم ممتاز في النسخ .

التحكم في الإصدار - شرح سريع وقذر

التحكم في الإصدار (يُعرف أيضًا باسم "التحكم في المراجعة" أو "إدارة التحكم في المصدر" ) هو طريقة رائعة لحل مشكلة مشاركة الملفات.

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

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

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

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

dpcwqxg_312gvhkh4s6_b

التحكم في إصدار المصمم - FAIL

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

تتضمن فوائد استخدام نظام التحكم في الإصدارات ما يلي:

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

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

تبدو فكرة VCS مهمة شاقة في البداية ، خاصة وأن معظم الوثائق مكتوبة من قبل المطورين . ولكن بمجرد أن تقوم بتدبيره في سير عملك ، ستجد أنه ليس بنفس الصعوبة التي يبدو عليها.

dpcwqxg_322grqgzjcz_b

لقاء جايت

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

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

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

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

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

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

      ابدء

      بمجرد تثبيت Git ، يمكنك إنشاء المستودع الخاص بك . لتحويل مجلد موجود إلى مستودع Git ، استخدم الأوامر التالية في نافذة Terminal أو Command Prompt:

      cd path/to/projectgit initgit add .git commit

      ما تقوله لـ Git هو:

      • تهيئة هذا الدليل
      • إضافة كل شيء فيه - جميع الملفات والدلائل الفرعية
      • الالتزام أو تخزين ، جميع التغييرات الحالية في المستودع

      إذا كنت تكره سطر الأوامر ، فيمكنك القيام بذلك أيضًا باستخدام Git GUI . إنه ليس أجمل شيء رأيته ، لكنه موجود إذا احتجت إليه.

      لقطة شاشة لـ Git GUI

      عينة Git Workflow

      أنا أستخدم حاليًا برنامج Git على جهاز Mac للعمل على تطبيق ويب مع العديد من مطوري الويب. لدينا نسخة "رئيسية" من الشفرة التي ندفع بها ملفاتنا ، ونعمل كل نسخة كاملة محليًا. في أي يوم من الأيام ، سيرحل سير العمل على النحو التالي:

      dpcwqxg_323gnhgbwg3_b

      1. اطلاق النار المحطة . ابدأ قاعدة بيانات mysql المحلية (بحيث يمكن تشغيل التطبيق الذي نقوم ببنائه محليًا على جهازي).
      2. استخدم Terminal للتحقق من أحدث التغييرات باستخدام أمر "git pull" . هذا يحصل لي على جميع التغييرات التي أجراها أعضاء الفريق الآخرون وقمنا بالدخول إلى مستودعنا الرئيسي.
      3. افتح المشروع في TextMate وقم بإجراء التغييرات الخاصة بي.
      4. الالتزام التغييرات وإضافة ملاحظاتي . هذا فقط يرتكبها محليا. أنا ارتكبت مرارا ، ربما عشر مرات أو أكثر في اليوم. هذا يساعد على إبقائي على الطريق الصحيح.
      5. ادفع تغييراتي إلى مستودع التخزين الرئيسي باستخدام "git push" . الآن يمكن لأعضاء الفريق الآخرين الاطلاع على التغييرات الخاصة بي. يجب عليك القيام بذلك على الأقل مرة واحدة في اليوم أو بعد أي إضافة رئيسية.

      كل هذه الإجراءات يمكن القيام بها بسهولة من خلال النافذة الطرفية ، لكنني من النوع المرئي للبنت. لهذا السبب ، أنا استخدم GitX ، git غوي ل OSX ، لجعل بلدي تلتزم. ما زلت أقوم بالدفع والسحب عبر المبنى ، ولكن GitX يجعل من السهل علي تنظيم عملياتي والتفاف رأسي حول ما أفعله.

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

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

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

      TextMate مع Git Bundle مثبتة

      أعرف أكثر

      ورقة غيت غيت

      ورقة Git Cheat بواسطة Zack Rusin

      في الاعلى: ورقة زاك روسين جيت غيت

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

      لمعرفة المزيد حول استخدام Git ، راجع هذه الموارد الرائعة:

      مقدمات إلى Git

      التعرف على Git
      دخول ويكيبيديا في جيت
      لماذا جيت هو أفضل من العاشر
      حديث تيد ليند تورفالد في جيت
      جولة في جيت: الأساسيات
      جاهز

      أوراق الغش / نصائح

      37 إشارة Git الموارد
      بوابة للالسابق
      دليل المستخدم Git
      A Gaggle of Git Tips
      ورقة GitHub's Git Cheat
      جيت ماجيك

      مقدمات للتحكم في الإصدار

      التحكم في النسخ للمصممين
      دليل مرئي لتحكم النسخة
      دخول ويكيبيديا على مراجعة التعديل
      اختيار نظام التحكم في إصدار الموزعة
      أتساءل ما هذا الزر هل (قائمة قائمة)


      مكتوبة حصريًا لـ WDD بواسطة Mindy Wagner. وهي مصممة على شبكة الإنترنت في Viget Labs وعملت في كل من التصميم المطبوع والإنترنت لأكثر من 8 سنوات. لديها شهادة في فن الإعلام الإلكتروني والاتصالات من معهد Rensselaer Polytechnic.

      هل تستخدم برنامج Git أو برنامج آخر للتحكم في الإصدار؟ يرجى تجربتكم معنا!