الإعلانات

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

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

لماذا استخدام برنامج التحكم في الإصدار؟

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

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

instagram viewer

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

برنامج التحكم في الإصدار

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

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

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

قد يهمك أيضًا معرفة أن Git يستخدم لإدارة وتطوير نواة لينكس الأساسية - اللبنة الأساسية التي بنيت عليها جميع توزيعات لينكس.

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

ما هو جيثب؟

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

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

التفرع والتفرع

هذه هي المفاهيم الأساسية لتجربة Git ، لذا فلنأخذ لحظة لشرح الاختلاف.

ربما سمعت عن العمل "شوكة" عند التعامل مع توزيعات لينكس. إذا كنت معتادًا على تطبيق مركز الوسائط Plex ، فستعرف أنه كان في الأصل شوكة من المصدر المفتوح المماثل مركز وسائط Xbox Aeon Nox 3.5: موضوع جميل وقابل للتخصيص لـ XBMCقم بإعداد مركز الوسائط الخاص بك بالطريقة التي تريدها بالضبط. Aeon Nox 3.5 هو أحدث إصدار لما هو ربما أفضل موضوع لـ XBMC ، وهو مزيج نادر: جميل ... اقرأ أكثر . هذا يعني ببساطة أنه في وقت ما في الماضي ، أخذ بعض المطورين رمز XBMC ، وقرروا أن يذهبوا بطريقتهم الخاصة به ؛ الذي أصبح Plex.

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

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

إليك رسمًا بيانيًا رائعًا لمثال سير العمل حسب فنسنت دريسن:

برنامج التحكم في الإصدار

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

هل أنت مطور متمرس ولديك خبرة في Git؟ هل بدأت للتو وتعتقد أنك ترغب في الذهاب؟ الصوت قبالة في التعليقات!

جيمس حاصل على درجة البكالوريوس في الذكاء الاصطناعي ، وهو حاصل على شهادة CompTIA A + و Network +. وهو المطور الرئيسي لـ MakeUseOf ، ويقضي وقت فراغه في لعب كرة الطلاء VR وألعاب الطاولة. لقد كان يبني أجهزة الكمبيوتر منذ أن كان طفلاً.