ادارة ملفات مشاريع الالعاب الكبيرة Source Control of Big Games Source Code

28th May, 2015
28th May, 2015 Ahmed Fawzy

ادارة ملفات مشاريع الالعاب الكبيرة Source Control of Big Games Source Code

git-unity-unreal

لو بتواجهك المشاكل دي 

بتحتاج تشتغل على مشروع لعبتك او تصميمك من اكتر من جهاز
عند نقل المشروع من جهاز لاخر بياخد وقت طويل جدا في النقل
عند تغيير الجهاز اللي كنت عامل عليه المشروع يفقد المشروع بعض الملفات وبيبوظ المشروع ولا تستطيع استرجاعه

اعرف انك دخلت مرحلة جديدة لازم تتعلم فيها تكويد اصدارات مشاريعك !!!

ايه الكلام الغريب ده … تكويد اصدارات مشاريعي … يعني ايه ؟؟؟

بص يا سيدي … اعتبر انك عندك ملف وكل ما تعمل تعديل فيه تاخد نسخة احتياطي تشيلها
كل ما تكتب سطر تاخد نسخة تشيلها مش ده يبقى كويس ؟؟؟ لو احتاجت ترجع لاي نسخة في اي وقت هتقدر وللا لا ؟
طيب هو انا هقعد كل ما اكتب سطر اعمل كوبي للمشروع ؟؟؟
مش بالظبط كده ولكن في برامج اسمها برامج ادارة كود المشاريع البرامج دي وظيفتها انها بتبقى مراقب على فولدر المشروع بتاعك وكل ما انت تحب تسجل انك عملت حاجة جديدة هي بتشوف الفرق في الملفات وتخزن عندها اايه اللي اتغير وتدي التغيير ده رقم وكومنت هتكون انت كاتبو عشان تبقى عارف عملت ايه
وتقدر في اي وقت ترجع لاي تغيير انت كنت واقف عندو في وقت صغير ومن غير ما الملفات تبوظ او تضيع

من ضمن المميزات كمان ان انت ممكن لو مسحت ملفات ترجعها … الخ

طيب نيجي للشرح الفعلي والمصطلحات

لما بتسجل حساب في اي برنامج من البرامج دي بيديك حساب ومساحة اونلاين عشان ترفع عليها المشاريع

وافضل هذه المواقع هو موقع
BitBucket

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

بعد ما بتشترك بتعمل مشروع جديد
New Repository

وتبدأ تحمل برنامج اللي هيتعامل مع الحساب الاونلاين

زي Source Tree

وبعد كده تفتح البرنامج وتبدأ تعمل نسخ للمشروع – اللي هو لسة فاضي مفيهوش ولا ملف – عندك على الجهاز في فولدر فاضي
عن طريق عمل clone
بعد كده جوة الفولدر ده حط اي مشروع او ملفات واعمل التغيير اللي انت عايزو هتلاقى البرنامج مكتوب فيه
uncommitted changes
يعني حجات لسة مترفعتش على السرفر
بتعمل commit
وتكتب التعديل اللي عملتو وهو بيدي التعديل ده رقم
زي كده

وده بيبقى شكل المشروع على الحساب الاونلاين في
bitbucket

طيب اللي فات كان شرح عام وبيستخدم مع اي كود لاي برنامج بالنسبة ليونيتي بقى ومحركات الالعاب ايه اللي ناخد بالنا منو؟

بالنسبة ليونيتي في ملفات بتبقى ملهاش لازمة مش مضطر تخدها مع المشروع وبيبقى مساحتها كبيرة جدا
فبنعمل حاجة اسمها ملف تحديد الملفات المهملة  او
ignore file
وهو بنحط فيه اسامي الفولدرات اللي مش عايز البرنامج يراقبها وميتعبش نافسو انو ينسخها وكمان بنحط فيه الامتدادات عمتا يعني ممكن نقولو متخدش اي امتداد مثلا ال
exe
وهكذا
طب بنعملو ازاي ؟؟
بندوس على زرار الاعدادات في برنامج السورس تري ثم اعدادات متقدمة ثم ملف ليستة المهملات
Settings->Advanced->ignorefile
وتحط فيهم المهملات مثلا يونيتي اللي هيا زي ده

https://gist.github.com/kleber-swf/6e62de2ed95cd2c0f2de

او مع انريل هيكون ملف زي ده

https://gist.github.com/nanomobile/c55c03039d22c2169620

بعد كده لما تحب ترفع اي تعديلات عملتها على المشروع بتعمل
commit
عشان التعديلات تتحفظ
وتعمل push
عشان التعديلات تتحط على الموقع في المشروع بتاعك المرفوع
الي هو ال repository او Repo

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

بالتوفيق يارب وياريت نكون بسطنا الموضوع عليكم
اخر طلب ياريت ما تبخلوش بنشر المضوع لو عجبكم حتى نشر الافادة وكمان عشان نشر موقعنا اكيد … شكرا ليكم جزيلا

لمزيد من المعرفة والاطلاع اكثر على الموضوع
http://kleber-swf.com/the-definitive-gitignore-for-unity-projects/
http://docs.unity3d.com/Manual/Versioncontrolintegration.html