SlideShare a Scribd company logo
1 of 21
Hussein Younis
‫محفوظة‬ ‫الحقوق‬ ‫جميع‬‫يونس‬ ‫صالح‬ ‫حسين‬
‫اإلصدارات‬ ‫إدارة‬
2018
‫الفهرس‬
‫الفصل‬‫األول‬:‫إدارة‬‫اإلصدارات‬(VERSION CONTROL)------------------------------------------------------------------------3
( ‫اإلصدارات‬ ‫إدارة‬ ‫هو‬ ‫ما‬Version Control)----------------------------------------------------------------------------------------------------------4
‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬ ‫أنواع‬--------------------------------------------------------------------------------------------------------------------------4
‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬ ‫تعمل‬ ‫كيف‬---------------------------------------------------------------------------------------------------------------------6
‫األخطاء‬ ‫عن‬ ‫والتراجع‬ ‫المفقودة‬ ‫الملفات‬ ‫استرجاع‬---------------------------------------------------------------------------------------------------------6
‫الفصل‬‫الثاني‬:‫مدخل‬‫الى‬‫نظام‬‫إدارة‬‫المصادر‬(GIT)---------------------------------------------------------------------------7
‫حاالت‬ ‫هي‬ ‫ما‬Git‫األساسية‬----------------------------------------------------------------------------------------------------------------------------8
‫في‬ ‫المشروع‬ ‫أقسام‬Git--------------------------------------------------------------------------------------------------------------------------------8
‫في‬ ‫األساسي‬ ‫العمل‬ ‫سير‬Git----------------------------------------------------------------------------------------------------------------------------8
‫وتنصيب‬ ‫تحميل‬Git-----------------------------------------------------------------------------------------------------------------------------------9
‫اعداد‬Git‫مرة‬ ‫ألول‬-----------------------------------------------------------------------------------------------------------------------------------9
‫الفصل‬‫الثالث‬:‫مبادئ‬GIT-------------------------------------------------------------------------------------------------10
‫بـ‬ ‫مشروع‬ ‫متابعة‬Git--------------------------------------------------------------------------------------------------------------------------------11
‫في‬ ‫المشروع‬ ‫على‬ ‫التعديالت‬Git---------------------------------------------------------------------------------------------------------------------11
‫في‬ ‫مشروع‬‫ال‬ ‫ملفات‬ ‫حالة‬Git-------------------------------------------------------------------------------------------------------------------------12
‫في‬ ‫جديد‬ ‫ملف‬ ‫تتبع‬Git------------------------------------------------------------------------------------------------------------------------------13
‫في‬ ‫التتبع‬ ‫من‬ ‫ملفات‬ ‫تجاهل‬Git-----------------------------------------------------------------------------------------------------------------------13
‫بعملية‬ ‫القيام‬Commit------------------------------------------------------------------------------------------------------------------------------14
‫التجهيز‬ ‫منطقة‬ ‫تجاوز‬Staging Area----------------------------------------------------------------------------------------------------------------14
‫عن‬ ‫التراجع‬Commit------------------------------------------------------------------------------------------------------------------------------15
‫ع‬‫االفر‬ ‫مع‬ ‫التعامل‬-----------------------------------------------------------------------------------------------------------------------------------15
‫ا‬‫م‬ ‫خادم‬ ‫على‬ ‫موجودة‬ ‫مشاريع‬ ‫مع‬ ‫التعامل‬-------------------------------------------------------------------------------------------------------------16
‫الخادم‬ ‫من‬ ‫الملفات‬ ‫وسحب‬ ‫جلب‬-----------------------------------------------------------------------------------------------------------------------16
‫الخادم‬ ‫الى‬ ‫الملفات‬ ‫دفع‬-------------------------------------------------------------------------------------------------------------------------------17
‫الفصل‬‫الرابع‬:‫إدارة‬‫المصادر‬‫في‬VS CODE---------------------------------------------------------------------------------18
‫في‬ ‫المصادر‬ ‫إدارة‬ ‫شاشة‬ ‫وإظهار‬ ‫تفعيل‬Visual Studio Code----------------------------------------------------------------------------------------19
Commit‫في‬Visual Studio Code---------------------------------------------------------------------------------------------------------------20
‫في‬ ‫مشروع‬ ‫استنساخ‬Visual Studio Code---------------------------------------------------------------------------------------------------------20
‫في‬ ‫االلوان‬ ‫مؤشرات‬Visual Studio Code---------------------------------------------------------------------------------------------------------20
‫في‬ ‫االعتراضات‬ ‫دمج‬Visual Studio Code--------------------------------------------------------------------------------------------------------21
: ‫األول‬ ‫الفصل‬‫اإلصدارات‬ ‫إدارة‬(VERSION
CONTROL)
‫ه‬ ‫ما‬‫و‬( ‫اإلصدارات‬ ‫إدارة‬Version Control)
‫تتبع‬ ‫للمستخدم‬ ‫يتيح‬ ‫نظام‬ ‫هو‬‫مجموعة‬ ‫أو‬ ‫ملف‬ ‫على‬ ‫تحدث‬ ‫التي‬ ‫التغيرات‬‫منن‬‫ال‬‫ملفنات‬‫منن‬‫النى‬ ‫الرجنو‬ ‫يمانن‬ ‫يحينم‬ ‫الننمن‬ ‫خنال‬
.‫ا‬‫الحقن‬ )‫(إصدار‬ ‫معينة‬ ‫مرحلة‬‫أيضنا‬‫يمانن‬‫الحاصنلة‬ ‫التغينرات‬ ‫مقارننة‬‫الملفنات‬ ‫علنى‬‫منرور‬ ‫منع‬‫الننمن‬،‫يتعندي‬ ‫منام‬ ‫منن‬ ‫معرفنة‬ ‫أو‬
‫ما‬ ‫خطأ‬ ‫الى‬ ‫أدى‬ ‫معين‬‫أو‬‫يتقديم‬ ‫مام‬ ‫من‬‫امتراح‬‫يذلك‬ ‫مام‬ ‫ومتى‬
‫أنه‬ ‫يعني‬ ‫اإلصدارات‬ ‫إدارة‬ ‫نظام‬‫إذا‬‫المستخدم‬ ‫قام‬‫يمكن‬ ،‫ما‬ ‫لسبب‬ ‫المشروع‬ ‫ملفات‬ ‫خسر‬ ‫أو‬ ‫المراحل‬ ‫من‬ ‫مرحلة‬ ‫في‬ ‫ما‬ ‫بخطأ‬‫ه‬
‫من‬‫بسهولة‬ ‫حالها‬ ‫الى‬ ‫استرجاعها‬.
‫أنواع‬‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬
‫كان‬‫المستخدم‬‫و‬‫ن‬‫يقومون‬‫على‬"‫الملفات‬ ‫"نسخ‬‫آخر‬ ‫ماان‬ ‫الى‬‫أج‬ ‫من‬‫إدارة‬‫إصدار‬‫ة‬‫الطريقة‬ ‫يهذه‬ ‫المعظم‬ ‫يقوم‬ ‫مشاريعهم‬
‫الح‬ ‫وكأنها‬ ‫تبدوا‬ ‫ألنها‬‫يحتم‬ ‫ال‬ ‫يشا‬ ‫واألخطاء‬ ‫المشاك‬ ‫تجلب‬ ‫ولانها‬ ، ‫األسه‬.‫ا‬‫أيض‬‫مجلد‬ ‫يأي‬ ‫تنسى‬ ‫أن‬ .‫ا‬‫جد‬ ‫السه‬ ‫من‬
‫طريق‬ ‫عن‬ ‫الحذف‬ ‫أو‬ ‫يالتغيير‬ ‫تقوم‬ ‫أن‬ ‫أو‬ ‫معينة‬ ‫نسخة‬ ‫وضعت‬‫الخطأ‬‫ما‬ ‫لملف‬
‫المشكلة‬ ‫هذه‬ ‫لعالج‬:‫يتطوير‬ ‫المبرمجون‬ ‫مام‬‫المحلية‬ ‫إصدارات‬ ‫إدارة‬ ‫أنظمة‬‫ييانات‬ ‫ماعدة‬ ‫تستخدم‬ ‫حيم‬ ،‫فيها‬ ‫تحفظ‬ ‫يسيطة‬
‫ع‬ ‫التغيرات‬‫إصدارات‬ ‫نظام‬ ‫في‬ ‫الملفات‬ ‫لى‬‫معين‬()‫تشاركية‬ ‫توجد‬ ‫ال‬ ‫حيم‬ ‫واحد‬ ‫جهاز‬ ‫مستوى‬ ‫على‬
‫ومن‬‫يتطوير‬ ‫المبرمجون‬ ‫مام‬ ‫اإلصدارات‬ ‫نظام‬ ‫في‬ ‫والمركنية‬ ‫التشاركية‬ ‫أج‬‫المركزية‬ ‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬‫تاون‬ ‫حيم‬
‫مركني‬ ‫خادم‬ ‫في‬ ‫البيانات‬ ‫وماعدة‬ ‫اإلصدارات‬
‫المشرو‬ ‫في‬ ‫المشاركين‬ ‫جميع‬ ، ‫المثا‬ ‫سبي‬ ‫فعلى‬ ‫المحلية‬ ‫اإلصدارات‬ ‫ادارة‬ ‫أنظمة‬ ‫على‬ ‫األفضليات‬ ‫من‬ ‫العديد‬ ‫الطريقة‬ ‫هذه‬ ‫تقدم‬
‫يعرف‬‫ون‬‫ما‬‫ا‬‫يه‬ ‫يقوم‬ ‫لذي‬‫االخرون‬‫معين‬ ‫حد‬ ‫الى‬‫على‬ ‫المركنية‬ ‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬ ‫مع‬ ‫التعام‬ ‫األسه‬ ‫من‬ ‫فإنه‬ ‫ويالطبع‬
‫المحلية‬ ‫األنظمة‬ ‫مع‬ ‫التعام‬‫مستخدم‬ ‫ك‬ ‫مب‬ ‫من‬ ‫يياناتها‬ ‫وماعدات‬.
‫مركن‬ ‫على‬ ‫تقوم‬ ‫المركنية‬ ‫األنظمة‬ ‫هذه‬ ‫أنه‬ ‫هي‬ ‫السيئة‬ ‫النقاط‬ ‫هذه‬ ‫أهم‬ .‫ا‬‫أيض‬.‫ا‬‫سيئ‬ .‫ا‬‫جانب‬ ‫الطريقة‬ ‫لهذه‬ ‫فإن‬ ،‫ثانية‬ ‫جهة‬ ‫ومن‬ ،‫ولان‬
‫إنه‬ ‫أي‬ ،‫للاود‬ ‫واحد‬‫إذا‬‫تومف‬ ‫حص‬‫للخادم‬،‫ف‬‫انه‬‫من‬ ‫أحد‬ ‫يتمان‬ ‫لن‬‫ح‬‫على‬ ‫تعدي‬ ‫يأي‬ ‫القيام‬ ‫أو‬ ‫التغييرات‬ ‫فظ‬‫يعم‬ ‫شيء‬ ‫أي‬
‫عليه‬‫أيضا‬‫النسخ‬ ‫تعم‬ ‫ولم‬ ،‫المركنية‬ ‫البيانات‬ ‫ماعدة‬ ‫على‬ ‫يحوي‬ ‫والذي‬ ‫األساسي‬ ‫القرص‬ ‫تعط‬ ‫وأن‬ ‫حص‬ ‫إذا‬‫االحتياطية‬
‫ك‬ ‫ستخسر‬ ‫فإنك‬ ،‫المخبأة‬‫شي‬‫ء‬‫المشرو‬ ‫في‬ ‫عملك‬ ‫تاريخ‬ ‫عن‬
‫جميع‬ ‫تاون‬ ‫عندما‬ ‫أنه‬ ‫وهي‬ ،.‫ا‬‫أيض‬ ‫المشالة‬ ‫هذه‬ ‫من‬ ‫المحلية‬ ‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬ ‫تعاني‬‫فإنك‬ ‫واحد‬ ‫ماان‬ ‫في‬ ‫المشرو‬ ‫ملفات‬
‫من‬ ‫خطر‬ ‫على‬‫خسارة‬!‫شيء‬ ‫ك‬
‫جاءت‬ ‫هنا‬ ‫ومن‬‫الموزعة‬ ‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬‫حيم‬‫المستخدمون‬ ‫يحص‬‫األنظمة‬ ‫هذه‬ ‫في‬‫من‬ ‫نسخة‬ ‫آخر‬ ‫على‬ ‫فقط‬ ‫ليس‬
‫على‬ ‫الموجود‬ ‫الملفات‬‫الخادم‬‫النظام‬ ‫تاريخ‬ ‫كام‬ ‫على‬ ‫ي‬ ،‫و‬‫الحال‬ ‫هذه‬ ‫في‬‫ة‬‫إذا‬‫ا‬ ‫يمان‬ ‫فإنه‬ ،‫النظام‬ ‫تعط‬‫من‬ ‫نسخة‬ ‫على‬ ‫لحصو‬
‫مستخدم‬ ‫أي‬ ‫من‬ ‫المشرو‬‫ويالتالي‬‫الى‬‫الخادم‬‫وشاملة‬ ‫كاملة‬ ‫حفظ‬ ‫عملية‬ ‫الحقيقة‬ ‫في‬ ‫هي‬ ‫للاود‬ ‫طلب‬ ‫عملية‬ ‫ك‬ ‫أن‬ ‫أي‬ ‫أخرى‬ ‫مرة‬
‫المشرو‬ ‫لتاريخ‬
‫تعمل‬ ‫كيف‬‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬
‫األنظمة‬ ‫تقوم‬‫على‬‫(مث‬ ‫األنظمة‬ ‫هذه‬ ‫الملفات‬ ‫على‬ ‫القائمة‬ ‫التغيرات‬ ‫من‬ ‫كقائمة‬ ‫المعلومات‬ ‫يتخنين‬CVS،Subversion،
Perforce،Bazaar،‫الومت‬ ‫مرور‬ ‫مع‬ ‫عليها‬ ‫القائمة‬ ‫والتغيرات‬ ‫ملفات‬ ‫كمجموعة‬ ‫تحفظها‬ ‫التي‬ ‫المعلومات‬ ‫مع‬ ‫تتعام‬ )‫وغيرها‬
‫تعام‬Git‫مع‬‫مرة‬ ‫ك‬ ‫ففي‬ ‫مصغر‬ ‫ملفات‬ ‫نظام‬ ‫من‬ "‫"لقطات‬ ‫أنها‬ ‫على‬ ‫المخننة‬ ‫المعلومات‬‫المستخدم‬ ‫يقوم‬‫يـ‬Commit‫أو‬
‫حفظ‬‫تقوم‬ ، ‫المشرو‬ ‫حالة‬Git‫لم‬ ‫إذا‬ ‫اللقطة‬ ‫تلك‬ ‫الى‬ .‫ا‬‫رايط‬ ‫وتخنن‬ ‫اللحظة‬ ‫تلك‬ ‫في‬ ‫الملفات‬ ‫جميع‬ ‫عن‬ ‫صورة‬ ‫يأخذ‬‫أي‬ ‫يحدث‬
‫على‬ ‫تغيير‬،‫ما‬ ‫ملف‬‫فأن‬Git‫يحفظ‬ ‫تقوم‬ ‫ال‬‫ه‬‫تحفظ‬ ‫ي‬ ،‫منه‬ ‫األسبق‬ ‫الملف‬ ‫عن‬ .‫ا‬‫رايط‬
‫استرجاع‬‫الملفات‬‫المفقو‬‫األخطاء‬ ‫عن‬ ‫والتراجع‬ ‫دة‬
‫يعملياتك‬ ‫تقوم‬ ‫عندما‬‫خال‬ ‫من‬Git،‫فأن‬Git‫األحيان‬ ‫أغلب‬ ‫في‬‫تقوم‬‫البيانات‬ ‫ماعدة‬ ‫الى‬ ‫معلومات‬ ‫يإضافة‬‫العمليات‬ ‫تلك‬ ‫عن‬
‫فلذلك‬‫الى‬ ‫العودة‬ ‫أو‬ ‫العملية‬ ‫عن‬ ‫التراجع‬ ‫جدا‬ ‫السه‬ ‫من‬‫لا‬ ‫الوراء‬‫ن‬‫للبيانات‬ ‫فقد‬ ‫يحدث‬ ‫أن‬ ‫يمان‬‫يعملية‬ ‫القيام‬ ‫مب‬Commit
‫خطر‬ ‫دون‬ ‫يالتجارب‬ ‫القيام‬ ‫يإمااننا‬‫الضيا‬ ‫أو‬ ‫للخطر‬ ‫المعلومات‬ ‫تعريض‬
‫الـ‬ ‫عملية‬ ‫يعد‬ ‫ولان‬ ;‫الحاصلة‬ ‫للتغيرات‬commit‫في‬Git،‫وخاصة‬ ،‫المعلومات‬ ‫خسارة‬ ً‫ا‬‫جد‬ ‫الصعب‬ ‫من‬‫إذا‬‫بعملية‬ ‫تقوم‬ ‫كنت‬
push‫الى‬ ‫بياناتك‬ ‫قاعدة‬ ‫من‬ ‫للتعديالت‬repository‫منظم‬ ‫بشكل‬.
‫الفصل‬‫الثاني‬:‫الى‬ ‫مدخل‬‫المصادر‬ ‫إدارة‬ ‫نظام‬
(GIT)
‫العم‬ ‫مجلد‬ ‫في‬ ‫الموجود‬ ‫الملف‬ ‫اصدار‬Git‫يعتبر‬committed
‫الى‬ ‫اضافته‬ ‫وتم‬ ‫ملف‬ ‫تعدي‬ ‫تم‬ ‫إذا‬staging area‫الملف‬ ‫فان‬staged
‫إذا‬‫الى‬ ‫اضافته‬ ‫يتم‬ ‫ولم‬ ‫ملف‬ ‫تعدي‬ ‫تم‬staging area‫الملف‬ ‫فان‬modified

‫هي‬ ‫ما‬‫حاالت‬Git‫األساسية‬
Git‫حاالت‬ ‫ثالثة‬ ‫لديه‬‫رئيسية‬‫للملفات‬:‫وهي‬
1Committed:‫تخنينها‬ ‫تم‬ ‫المعلومات‬ ‫يأن‬‫ي‬‫أ‬‫مان‬‫ماعدة‬ ‫في‬‫البيانات‬
2Modified:‫الملف‬ ‫على‬ ‫التغيير‬ ‫تم‬‫البيانات‬ ‫ماعدة‬ ‫في‬ ‫المعلومات‬ ‫تخنين‬ ‫يتم‬ ‫لم‬ ‫ولان‬
3Staged:‫يأن‬ ‫فتعني‬‫تم‬ ‫الملف‬‫حفظ‬ ‫ليتم‬ ‫الحالي‬ ‫يإصداره‬ ‫تعديله‬‫ه‬‫الـ‬ ‫عملية‬ ‫في‬commit‫القادمة‬
‫في‬ ‫المشروع‬ ‫أقسام‬Git
1‫يـ‬ ‫الخاص‬ ‫المجلد‬Git‫فيه‬ ‫تحفظ‬ ‫الذي‬ ‫الماان‬ ‫هو‬Git‫عن‬ ‫الخاصة‬ ‫المعلومات‬‫ال‬‫األكثر‬ ‫الماان‬ ‫هو‬ ‫هذا‬ ‫مشرو‬‫أهمية‬
‫في‬Git‫الـ‬ ‫تنسخ‬ ‫عندما‬ ‫نسخه‬ ‫يتم‬ ‫الذي‬ ‫وهو‬ ،repository‫حاسوب‬ ‫من‬‫الى‬‫آخر‬.
2‫مجل‬‫د‬‫من‬ ‫المسحوية‬ ‫الحالية‬ ‫النسخة‬ ‫هو‬ ‫العم‬‫ال‬‫ييانات‬ ‫ماعدة‬ ‫من‬ ‫سحبها‬ ‫سيتم‬ ‫التي‬ ‫الملفات‬ ‫مشرو‬Git‫للمشرو‬
‫لتقوم‬ ‫لك‬ ‫وتجهينها‬‫يتعديلها‬.
3‫ماا‬‫ن‬‫التهيئة‬(staging area‫مجلد‬ ‫في‬ ‫موجودة‬ ‫تاون‬ ‫ما‬ ‫عادة‬ ،)Git‫المعلومات‬ ‫على‬ ‫وتحتوي‬ ،‫لمشروعك‬‫الخاصة‬
‫ي‬‫عملية‬commit‫التالية‬( ‫الفهرس‬ ‫ياسم‬.‫ا‬‫أيض‬ ‫الماان‬ ‫هذا‬ ‫الى‬ ‫يشار‬ ‫مد‬index)
‫األساسي‬ ‫العمل‬ ‫سير‬‫في‬Git
1‫المستخدم‬ ‫يقوم‬‫العم‬ ‫مجلد‬ ‫في‬ ‫الملفات‬ ‫على‬ ‫يالتعديالت‬
2‫توضع‬‫ماان‬ ‫في‬ ‫الملفات‬ ‫هذه‬‫التهيئة‬(staging area)
3‫المستخدم‬ ‫يقوم‬‫يعملية‬Commit،‫حي‬‫م‬‫التهيئة‬ ‫ماان‬ ‫من‬ ‫المهيئة‬ ‫الملفات‬ ‫أخذ‬ ‫يتم‬Staging Area‫يتم‬ ‫ثم‬ ‫ومن‬‫ت‬‫خنين‬
‫هذه‬‫اللقطة‬‫عم‬ ‫مجلد‬ ‫في‬ ‫نهائي‬ ‫يشا‬Git
‫وتنصيب‬ ‫تحميل‬Git
1‫الماك‬ ‫نظام‬ ‫على‬ ‫التنصيب‬:‫هن‬‫ماك‬ ‫على‬ ‫للتنصيب‬ ‫طريقتين‬ ‫اك‬،‫للتنصيب‬ ‫الرسومية‬ ‫الواجهة‬ ‫استخدام‬ ‫هي‬ ‫األسه‬ ،
‫صفحة‬ ‫من‬ ‫تحميلها‬ ‫يمانك‬ ‫والتي‬‫المشر‬‫كود‬ ‫غوغ‬ ‫على‬ ‫و‬
installer-osx-http://sourceforge.net/projects/git/
2‫نظام‬ ‫على‬ ‫التنصيب‬‫ويندوز‬:‫تنصيب‬ ‫يمانك‬Git‫ويندوز‬ ‫نظام‬ ‫على‬:‫التالي‬ ‫الرايط‬ ‫طريق‬ ‫عن‬
https://gitforwindows.org/
‫اعداد‬Git‫مرة‬ ‫ألول‬
‫على‬ ‫حصلت‬ ‫أن‬ ‫ويعد‬ ‫واآلن‬Git‫القيام‬ ‫عليك‬ ‫سياون‬ ‫ييئتك‬ ‫لتناسب‬ ‫الخيارات‬ ‫يعض‬ ‫تخصيص‬ ‫عليك‬ ‫سيتوجب‬ ،‫نظامك‬ ‫على‬
‫فقط‬ ‫واحدة‬ ‫مرة‬ ‫التعديالت‬ ‫يهذه‬‫حيم‬‫تريد‬ ‫ومت‬ ‫أي‬ ‫في‬ ‫اإلعدادات‬ ‫هذه‬ ‫تغيير‬ ‫يمانك‬
‫تأتي‬Git‫تدعى‬ ‫يأداة‬ ‫مرفقة‬git config‫عم‬ ‫يطريقة‬ ‫تتحام‬ ‫التي‬ )‫(المتغيرات‬ ‫الخيارات‬ ‫تعدي‬ ‫تمانك‬ ‫والتي‬Git
‫لـ‬ ‫تنصيبك‬ ‫يعد‬ ‫فعله‬ ‫عليك‬ ‫شيء‬ ‫أو‬Git‫عملية‬ ‫ك‬ ‫أن‬ ‫في‬ ‫تامن‬ ‫األمر‬ ‫هذا‬ ‫أهمية‬ ‫االلاتروني‬ ‫ويريدك‬ ‫اسمك‬ ‫اعداد‬ ‫هو‬
Commit‫في‬Git‫غي‬ ‫يشا‬ ‫لصقها‬ ‫وسيتم‬ ‫المعلومات‬ ‫هذه‬ ‫ستستخدم‬:‫عملياتك‬ ‫ك‬ ‫في‬ ‫للتغيير‬ ‫ماي‬ ‫ر‬
،.‫ا‬‫وطبع‬‫إذا‬' ‫اضافة‬ ‫عليك‬ ،‫النظام‬ ‫كام‬ ‫على‬ ‫المعلومات‬ ‫هذه‬ ‫تتحدد‬ ‫أن‬ ‫أردت‬--global‫األمر‬ ‫الى‬ '‫وإذا‬‫األمر‬ ‫هذا‬ ‫تجاوز‬ ‫أردت‬
' ‫يدون‬ ‫األمر‬ ‫هذا‬ ‫تشغي‬ ‫عليك‬ ،‫معين‬ ‫لمشرو‬ ‫مختلفة‬ ‫معلومات‬ ‫وتحديد‬--global‫مشروعك‬ ‫داخ‬ '
‫إذا‬' ‫أمر‬ ‫استخدام‬ ‫يمانك‬ ،‫إعداداتك‬ ‫على‬ ‫نظرة‬ ‫القاء‬ ‫أردت‬git config --list‫في‬ ‫أعددتها‬ ‫التي‬ ‫الخيارات‬ ‫ياافة‬ ‫مائمة‬ ‫لعرض‬ '
Git:
$ git config --list
user.name= Hussein Younis
user.email= hussein.salah.younis@gmail.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
$ git config --global user.name "Hussein Younis"
$ git config --global user.email hussein.salah.younis@gmail.com
‫الفصل‬‫الثالث‬:‫مبادئ‬GIT
‫متابعة‬‫مشروع‬‫بـ‬Git
‫يـ‬ ‫مشرو‬ ‫انشاء‬ ‫يمانك‬git‫تبدأ‬ ‫أن‬ ‫في‬ ‫تامن‬ ‫األولى‬ ‫طريقتين‬ ‫يإحدى‬‫يالعم‬‫مشرو‬ ‫على‬‫سايق‬‫أو‬‫على‬‫ملفات‬ ‫يحوي‬ ‫مجلد‬
‫يحيم‬‫ما‬ ‫تستورد‬‫مشروعك‬ ‫الى‬ ‫فيه‬‫الجديد‬‫أو‬‫تستنسخ‬ ‫أن‬‫مشرو‬‫جاهن‬‫ما‬ ‫مخدم‬ ‫من‬
1‫للبد‬‫ء‬‫يـ‬ ‫لديك‬ ‫مسبق‬ ‫مشرو‬ ‫تغيرات‬ ‫يمتايعة‬git‫كتاية‬ ‫ثم‬ ‫مشروعك‬ ‫مجلد‬ ‫الى‬ ‫الذهاب‬ ‫عليك‬ ،:
‫هذا‬ ‫يقوم‬‫يأنشاء‬‫فرعي‬ ‫مجلد‬‫تحت‬ ‫جديد‬‫اسم‬. git‫والملفات‬ ‫المعلومات‬ ‫جميع‬ ‫يحوي‬‫إذا‬‫اصدارات‬ ‫يمتايعة‬ ‫أردت‬
‫البدء‬ ‫عليك‬ ‫يجب‬ ،‫الموجودة‬ ‫الملفات‬‫يأخبار‬Git‫اجراء‬ ‫ثم‬ ‫ومن‬ ‫الملفات‬ ‫يهذه‬commit‫استخدام‬ ‫عليك‬ ‫يهذا‬ ‫للقيام‬ ‫أولي‬
‫أمر‬git add‫تتبعها‬ ‫ثم‬ ‫ومن‬ ،‫تريد‬ ‫التي‬ ‫يالملفات‬ ‫الاافي‬ ‫يالعدد‬‫ي‬‫أمر‬commit:
2:‫مسبقا‬ ‫موجود‬ ‫مشرو‬ ‫استنساخ‬
‫ياستنساخ‬ ‫للقيام‬‫مشرو‬‫يـ‬git‫موجود‬.‫ا‬‫مسبق‬-‫المثا‬ ‫سبي‬ ‫على‬ ‫فيه‬ ‫المساهمة‬ ‫تريد‬ ‫مشرو‬-‫ستحتاجه‬ ‫الذي‬ ‫األمر‬
‫هو‬git clone
‫تقوم‬ ‫عندما‬git‫يعملية‬clone‫المعلوم‬ ‫كام‬ ‫من‬ ‫نسخة‬ ‫على‬ ‫ستحص‬ ‫فإنك‬.‫ا‬‫تقريب‬ ‫ات‬‫ال‬ ‫مخدم‬ ‫على‬ ‫الموجودة‬‫مشرو‬
‫هذا‬ ‫سيقوم‬‫يأنشاء‬‫ياسم‬ ‫جديد‬ ‫مجلد‬"grit"‫وتجهين‬ ،‘. git'‫داخله‬ ‫في‬
‫في‬ ‫المشروع‬ ‫على‬ ‫التعديالت‬Git
‫يعض‬ ‫هناك‬ ‫ياون‬ ‫عندما‬‫التعديالت‬‫من‬ ‫يد‬ ‫ال‬ ‫جهازك‬ ‫في‬ ‫المشرو‬ ‫على‬‫عم‬commit‫فيها‬ ‫يص‬ ‫مرة‬ ‫ك‬ ‫في‬ ‫التعديالت‬ ‫لهذه‬
‫نقطة‬ ‫إلى‬ ‫المشرو‬‫تسجيلها‬ ‫تود‬.
‫ّع‬‫ب‬َ‫ت‬َ‫ت‬ٌ‫م‬ :‫فقط‬ ‫الحالتين‬ ‫إحدى‬ ‫في‬ ‫ياون‬ ‫أن‬ ‫يمان‬ ‫العم‬ ‫مجلد‬ ‫في‬ ‫ملف‬ ‫ك‬ ‫أنه‬ ‫تذكر‬tracked‫ّع‬‫ب‬َ‫ت‬َ‫ت‬ٌ‫م‬ ‫غير‬ ‫أو‬untracked:
1‫أخر‬ ‫في‬ ‫كانت‬ ‫ملفات‬ ‫هي‬ ‫ّعة‬‫ب‬‫تت‬ٌ‫م‬‫ال‬ ‫الملفات‬snapshot‫وضعه‬ ‫أو‬ ‫عليها‬ ‫التعدي‬ ‫أو‬ ‫عليها‬ ‫التعديالت‬ ‫إلغاء‬ ‫ويمان‬‫ا‬‫في‬
‫حالة‬staged‫أج‬ ‫من‬‫عم‬commit
2‫الملفات‬ ‫ك‬ ‫هي‬ ‫ّعة‬‫ب‬‫تت‬ُ‫م‬‫ال‬ ‫غير‬ ‫الملفات‬‫األخرى‬-‫آخر‬ ‫في‬ .‫ا‬‫موجود‬ ‫يان‬ ‫لم‬ ‫العم‬ ‫مجلد‬ ‫في‬ ‫ملف‬ ‫أي‬snapshot‫وليس‬
.‫ا‬‫معلم‬‫يأنه‬staged
‫سيقوم‬ ،‫الملفات‬ ‫تعد‬ ‫عندما‬git‫أنهم‬ ‫على‬ ‫يتأشيرهم‬modified‫آخر‬ ‫عن‬ ‫يتغيرهم‬ ‫ممت‬ ‫ألنك‬ ،commit‫ثم‬ ‫ومن‬ ‫يه‬ ‫ممت‬‫تقوم‬
‫يعم‬stage‫ا‬ ‫لهذه‬‫المعدلة‬ ‫لملفات‬‫ومن‬‫يعم‬ ‫تقوم‬ ‫ثم‬commit‫منطقة‬ ‫في‬ ‫التغيرات‬ ‫لجميع‬stage
$ git clone git://github.com/schacon/grit.git
$ git add *.c
$ git add README
$ git commit –m 'initial project version'
$ git init
‫في‬ ‫المشروع‬ ‫ملفات‬ ‫حالة‬Git
‫األمر‬ ‫ياستخدام‬git status‫يعم‬ ‫ميامك‬ ‫يعد‬ ‫مباشرة‬ ‫األمر‬ ‫هذا‬ ‫يتشغي‬ ‫ممت‬ ‫إذا‬ ‫لدينا‬ ‫الملفات‬ ‫حالة‬ ‫معرفة‬ ‫يماننا‬clone‫يجب‬
:‫التالي‬ ‫يشبه‬.‫ا‬‫شيئ‬ ‫ترى‬ ‫أن‬
‫نظيف‬ ‫عم‬ ‫مجلد‬ ‫لديك‬ ‫أنه‬ ‫يعني‬ ‫وهذا‬-‫يخبرك‬ ‫األمر‬ ‫هذا‬ ّ‫أن‬ ‫كما‬ ‫ّعة‬‫ب‬‫تت‬ُ‫م‬ ‫غير‬ ‫ملفات‬ ‫أو‬ ‫معدلة‬ ‫ملفات‬ ‫أي‬ ‫اليوجد‬ ،‫آخر‬ ‫يمعنى‬
‫فر‬ ‫يأي‬branch‫تعم‬ ‫أنت‬‫فالفر‬master‫االفتراضي‬ ‫هو‬ ،
‫مثال‬ ‫جديد‬ ‫ملف‬ ‫إضافة‬ ‫عند‬README‫االمر‬ ‫ياستخدام‬ ‫وممنا‬ ‫المشرو‬ ‫الى‬git status:‫التالي‬ ‫على‬ ‫سنحص‬ ‫فأننا‬
‫الجديد‬ ‫ملفك‬ ّ‫أن‬ ‫مالحظة‬ ‫يمانك‬README‫تحت‬ ‫فهو‬ ،‫ّع‬‫ب‬‫تت‬ُ‫م‬ ‫غير‬‫تصنيف‬"untracked filesّ‫أن‬ ‫ذلك‬ ‫ويعني‬ "git‫يرى‬
‫على‬ .‫ا‬‫جديد‬ .‫ا‬‫ملف‬commitّ‫أن‬ .‫ا‬‫علم‬ ‫السايقة؛‬git‫يش‬ ‫ذلك‬ ‫يطلب‬ ‫ممت‬ ‫إذا‬ ‫إال‬ ‫المتتبعة‬ ‫الملفات‬ ‫إلى‬ ‫الملف‬ ‫هذا‬ ‫يإضافة‬ ‫يقوم‬ ‫لن‬‫ا‬
‫من‬ ‫المشرو‬ ‫حماية‬ ‫أج‬ ‫من‬ ‫ذلك‬ ‫من‬ ‫والهدف‬ ،‫مباشر‬‫إضافتها‬ ‫تود‬ ‫ال‬ ‫ملفات‬ ‫أي‬
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# README
nothing added to commit but untracked files present (use "git add" to
track)
$ git status
# On branch master
nothing to commit, working directory clean
‫في‬ ‫جديد‬ ‫ملف‬ ‫تتبع‬Git
‫جديد‬ ‫ملف‬ ‫يتتبع‬ ‫للقيام‬‫ي‬ ‫نقوم‬‫األمر‬ ‫استخدام‬git add
‫األمر‬ ‫يتنفيذ‬ ‫ممنا‬ ‫إذا‬git status‫الملف‬ ‫أن‬ ‫سنالحظ‬ ‫أخرى‬ ‫مرة‬README.‫ا‬‫وجاهن‬ .‫ا‬‫متتبع‬ ‫أصبح‬staged‫يعملية‬ ‫للقيام‬
commit:
‫في‬ ‫التتبع‬ ‫من‬ ‫ملفات‬ ‫تجاهل‬Git
‫من‬ ‫تود‬ ‫ما‬ .‫ا‬‫غالب‬git‫أو‬.‫ا‬‫تلقائي‬ ‫يإضافتها‬ ‫يقوم‬ ‫ال‬ ‫يحم‬ ‫الملفات‬ ‫من‬ ‫صنف‬ ‫تجاه‬‫أال‬‫متتبعة‬ ‫غير‬ ‫ها‬ّ‫ن‬‫يأ‬ ‫يظهرها‬‫الحال‬ ‫هذه‬ ‫مث‬ ‫في‬‫ة‬
‫إنشاء‬ ‫يمان‬‫ملف‬gitignore‫يحتويه‬ ‫مد‬ ‫ا‬ّ‫م‬‫ع‬ ‫مثا‬ ‫هذا‬ ‫يتجاهلها‬ ‫نرغب‬ ‫التي‬ ‫الملفات‬ ‫ألسماء‬ ‫أنماط‬ ‫على‬ ‫يحوي‬‫ملف‬
gitignore:
‫يتوجيه‬ ‫يقوم‬ ‫سطر‬ ‫أو‬git‫النو‬ ‫من‬ ‫لواحق‬ ‫ذات‬ ‫ملفات‬ ‫أي‬ ‫تجاه‬ ‫إلى‬o‫أو‬a-‫ملفات‬ ‫وهي‬ ‫األرشيف‬ ‫وملفات‬ ‫الاائنات‬ ‫ملفات‬
‫يوجه‬ ‫الثاني‬ ‫السطر‬ ‫عادة‬ ‫الاود‬ ‫يناء‬ ‫أدوات‬ ‫تولدها‬ ‫وسيطة‬git‫ملف‬ ‫تاون‬ ‫والتي‬ )~( ‫يالرمن‬ ‫تنتهي‬ ‫ملفات‬ ‫أي‬ ‫تجاه‬ ‫إلى‬‫ات‬
‫مجلدات‬ ‫يإضافة‬.‫ا‬‫أيض‬ ‫ترغب‬ ‫مد‬ ‫الاود‬ ‫تحرير‬ ‫يرامج‬ ‫يعض‬ ‫تستخدمها‬ .‫ة‬‫عاد‬ ‫مؤمتة‬log‫و‬tmp‫أو‬pid‫التوثيق‬ ‫ملفات‬ ‫حتى‬ ‫أو‬ ‫؛‬
‫يإضافة‬ ‫ينصح‬ ‫وغيرها‬ ،)‫عادة‬ ‫الاود‬ ‫(من‬ ‫التوليد‬ ‫تلقائية‬‫ملف‬gitignore‫إنشاء‬ ‫يداية‬ ‫في‬‫المشرو‬‫يعض‬ ‫إضافة‬ ‫نتجنب‬ ‫حتى‬
‫وتلويم‬ ‫الخطأ‬ ‫طريق‬ ‫عن‬ ‫الملفات‬‫المشرو‬
‫ضمن‬ ‫وضعها‬ ‫يمان‬ ‫التي‬ ‫األنماط‬ ‫مواعد‬‫ملف‬gitignore:‫كالتالي‬ ‫هي‬
*.[oa]
*~
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: README
#
$ git add README
1‫تجاهلها‬ ‫يتم‬ )#( ‫يالرمن‬ ‫تبدأ‬ ‫التي‬ ‫األسطر‬
2‫أنماط‬glob‫تعم‬ ‫القياسية‬
3.‫ا‬‫مجلد‬ ‫يستهدف‬ ‫أنه‬ ‫على‬ ‫للداللة‬ )/( ‫يرمن‬ ‫النمط‬ ‫إنهاء‬ ‫يمان‬
4‫مب‬ ‫السطر‬ ‫يداية‬ ‫في‬ )!( ‫التعجب‬ ‫عالمة‬ ‫وضع‬ ‫طريق‬ ‫عن‬ ‫ما‬ ‫نمط‬ ‫نفي‬ ‫يمان‬‫النمط‬
‫بعملية‬ ‫القيام‬Commit
‫الملفا‬ ‫تجهين‬ ‫اكما‬ ‫يعد‬‫يإضافتها‬ ‫ترغب‬ ‫التي‬ ‫ت‬‫أمر‬ ‫تنفيذ‬ ‫يمانك‬ ،commit‫سج‬ ‫في‬ ‫أجريتها‬ ‫التي‬ ‫التعديالت‬ ‫اعتماد‬ ‫ليتم‬git
‫تجهينه‬ ‫يتم‬ ‫لم‬ ‫ملف‬ ‫أي‬ ّ‫أن‬ ‫تذكر‬-‫األمر‬ ‫ياستخدام‬ ‫يإضافته‬ ‫تقم‬ ‫لم‬ ‫سواء‬git add‫عليه‬ ‫التعدي‬ ‫أو‬ ‫إنشاءه‬ ‫يعد‬-‫هذه‬ ‫في‬ ‫يدخ‬ ‫لن‬
‫االعتمادية‬‫يأمر‬ ‫القيام‬ ‫هي‬ ‫التعديالت‬ ‫العتماد‬ ‫طريقة‬ ‫أيسط‬ ‫العم‬ ‫مجلد‬ ‫في‬ ‫تعديلها‬ ‫تم‬ ‫ملفات‬ ‫أنها‬ ‫على‬ ‫وستبقى‬ ،git commit
:‫كالتالي‬
‫تنفيذ‬ ‫عند‬‫رسالة‬ ‫إدخا‬ ‫منا‬ ‫سيطلب‬ ‫األمر‬ ‫هذا‬‫االعتماد‬ ‫عمليه‬ ‫عم‬ ‫يمانك‬ ‫أو‬ ‫المشرو‬ ‫على‬ ‫أجريت‬ ‫التي‬ ‫التعديالت‬ ‫تعاس‬
Commit:‫كالتالي‬ ‫مباشرة‬ ‫الرسالة‬ ‫مع‬
‫التجهيز‬ ‫منطقة‬ ‫تجاوز‬Staging Area
‫يوفر‬ ،‫التجهين‬ ‫منطقة‬ ‫تجاوز‬ ‫أردت‬ ‫إذا‬git‫األمر‬ ‫ياستخدام‬ ‫لذلك‬.‫ا‬‫يسيط‬ .‫ا‬‫اختصار‬git commit -a‫يقوم‬git‫الملفات‬ ‫يإضافة‬
‫يعم‬ ‫ممت‬ ‫كأنك‬ ،‫تلقائي‬ ‫يشا‬ ‫التجهين‬ ‫منطقة‬ ‫إلى‬ ‫المتتبعة‬git add:
$ git status
# On branch master
#
# Changes not staged for commit:
#
# modified: benchmarks.rb
#
$ git commit -a -m 'added new benchmarks'
[master 83e38c7] added new benchmarks
1 files changed, 5 insertions(+), 0 deletions(-)
$ git commit -m "Story 182: Fix benchmarks for speed"
$ git commit
‫عن‬ ‫التراجع‬Commit
‫أي‬ ‫في‬،‫مرحلة‬‫كن‬ ‫ما‬ ‫شيء‬ ‫عن‬ ‫التراجع‬ ‫في‬ ‫ترغب‬ ‫مد‬‫ا‬.‫حذر‬‫حيم‬‫التراجع‬ ‫ا‬.‫م‬‫دائ‬ ‫يمانك‬ ‫ال‬‫يه‬ ‫ممت‬ ‫عما‬‫التراجع‬ ‫تريد‬ ‫فعندما‬
‫عن‬Commit‫التراجع‬ ‫يمانك‬ ‫فأنه‬ ‫الملفات‬ ‫يعض‬ ‫نسبت‬ ‫مد‬ ‫أنك‬ ‫أو‬ ‫االعتمادية‬ ‫رسالة‬ ‫في‬ ‫خطأ‬ ‫تاون‬ ‫مد‬ ‫التي‬ ‫األسباب‬ ‫من‬ ‫لسبب‬
:‫االمر‬ ‫استخدام‬ ‫طريق‬ ‫عن‬
‫مد‬ ‫يأنك‬ ‫تذكرت‬ ‫ثم‬ ‫ومن‬ ‫اعتماد‬ ‫يعم‬ ‫ممت‬ ‫لو‬ ‫فمثال‬‫ياستخدام‬ ‫اضافته‬ ‫عليك‬ ‫يتوجب‬ ‫فأنه‬ ‫للمشرو‬ ‫اضافته‬ ‫من‬ ‫ما‬ ‫ملف‬ ‫نسيت‬
‫االمر‬git add‫االمر‬ ‫تنفيذ‬ ‫ثم‬ ‫ومن‬git commit --amend
‫االفرع‬ ‫مع‬ ‫التعامل‬
‫األفر‬ ‫هي‬ ‫إفادة‬ ‫أكثرهم‬ ‫ريما‬ ‫ولان‬ ‫محددة‬ ‫حالة‬ ‫أو‬ ‫محدد‬ ‫لنمن‬ ‫تغييرات‬ ‫الستعادة‬ .‫ال‬‫مث‬ ‫ومنها‬ ،‫المفيدة‬ ‫األوامر‬ ‫من‬ ‫العديد‬ ‫هناك‬
‫للبرن‬ ‫رائعة‬ ‫فارة‬ ‫لك‬ ‫خطرت‬ ‫ومد‬ ،‫للترجمة‬ ‫يرنامج‬ ‫تطوير‬ ‫على‬ ‫نعم‬ ‫كفريق‬ ‫اننا‬ .‫ال‬‫مث‬ ‫لنق‬‫تغييرات‬ ‫إلجراء‬ ‫تحتاج‬ ‫ولانها‬ ‫امج‬
‫إنشاء‬ ‫يمانك‬ ،‫للقلق‬ ‫داعي‬ ‫ال‬ ‫الحقيقة‬ ‫في‬ ‫ولان‬ ،‫ذلك‬ ‫عم‬ ‫من‬ ‫تتخوف‬ ‫ومد‬ ،.‫ا‬‫حالي‬ ‫الموجود‬ ‫الاود‬ ‫على‬ ‫أي‬ ،‫البرنامج‬ ‫على‬ ‫أساسية‬
!‫الحنمة‬ ‫من‬ ‫جديد‬ ‫فر‬
‫جهازك‬ ‫على‬ .‫ا‬‫حالي‬ ‫الموجودة‬ ‫األفر‬ ‫تفقد‬ ‫يمانك‬ .‫ال‬‫أو‬
‫فر‬ ‫إلنشاء‬ ‫اآلن‬ ،.‫ا‬‫حالي‬ ‫يه‬ ‫تعم‬ ‫الذي‬ ‫الفر‬ ‫يأنه‬ ‫تعني‬ ‫النجمة‬ ‫وعالمة‬ ‫نفسها‬ ‫الحنمة‬ ‫يحوي‬ ‫فقط‬ ‫واحد‬ ‫فر‬ .‫ا‬‫حالي‬ ‫يوجد‬ ‫أنه‬ ‫أي‬
:‫جديد‬
‫األصلي‬ ‫الفر‬ ‫في‬ ‫الموجودة‬ ‫الملفات‬ ‫لجميع‬ ‫نسخة‬ ‫أنشأت‬ ‫مد‬ ‫تاون‬ ‫ويالتالي‬master.‫أنشأته‬ ‫الذي‬ ‫الجديد‬ ‫لفر‬ ‫اآلن‬ ‫لتنتق‬
.‫ا‬‫حالي‬ ‫الموجودة‬ ‫األفر‬ ‫إظهار‬ ‫إعادة‬ ‫يمانك‬
$ git branch
master
perfectdict*
$ git checkout perfectdict
$ git branch perfectdict
$ git branch
master*
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend
$ git commit --amend
‫ضمنه‬ ‫اآلن‬ ‫أنك‬ ‫أي‬ ‫الجديد‬ ‫الفر‬ ‫على‬ ‫موضوعة‬ ‫والنجمة‬ ،‫فرعين‬ ‫لنا‬ ‫عرض‬ ‫فقد‬ ‫تالحظ‬ ‫كما‬.
‫أو‬ ‫الحنمة‬ ‫في‬ ‫الفوضى‬ ‫حدث‬ُ‫ت‬ ‫ولن‬ ‫مستق‬ ‫فر‬ ‫ضمن‬ ‫اآلن‬ ‫فأنت‬ ‫ملق‬ ‫دون‬ ‫تريد‬ ‫وكيفما‬ ‫تريد‬ ‫التي‬ ‫التغييرات‬ ‫إجراء‬ ‫يمانك‬ ‫اآلن‬
‫األساسي‬ ‫الفر‬.
‫من‬ ‫انتهاءك‬ ‫يعد‬‫التغييرات‬ ‫ودمج‬ ‫األصلي‬ ‫للفر‬ ‫االنتقا‬ ‫يمانك‬ ،‫الجديد‬ ‫الفر‬ ‫على‬ ‫العم‬
‫األساسي‬ ‫للفر‬ ‫انتقلنا‬ ‫هنا‬master‫يالدمج‬ ‫لنقم‬ ‫اآلن‬ ‫ضمنه‬ .‫ال‬‫فع‬ ‫أننا‬ ‫أي‬ ‫يجواره‬ ‫النجمة‬ ‫يوجود‬ ‫وتأكدنا‬
‫مشاريع‬ ‫مع‬ ‫التعامل‬‫على‬ ‫موجودة‬‫ما‬ ‫خادم‬
‫مشرو‬ ‫أي‬ ‫في‬ ‫التعاون‬ ‫على‬ .‫ا‬‫مادر‬ ‫لتاون‬‫ياستخدام‬Git،‫إدارة‬ ‫كيفية‬ ‫معرفة‬ ‫إلى‬ ‫تحتاج‬‫المشاريع‬‫يعد‬ ‫عن‬‫تمث‬ ‫والتي‬‫إصدارات‬
‫مشروعك‬ ‫من‬‫مستضيفة‬‫العديد‬ ‫على‬ ‫الحصو‬ ‫يمانك‬ ‫ما‬ ‫ماان‬ ‫في‬ ‫شباة‬ ‫أو‬ ‫اإلنترنت‬ ‫على‬،‫منها‬‫فقط‬ ‫للقراءة‬ ‫إما‬ ‫منها‬ ‫ك‬ ‫وياون‬
‫الاتاية‬ / ‫القراءة‬ ‫أو‬
‫هذه‬ ‫إدارة‬ ‫على‬ ‫اآلخرين‬ ‫مع‬ ‫التعاون‬ ‫ينطوي‬‫المشاريع‬‫منها‬ ‫وإخراجها‬ ‫البيانات‬ ‫ودفع‬ ‫ُعد‬‫ي‬ ‫عن‬
‫من‬‫استخد‬ ‫يمانك‬ ‫للمشرو‬ ‫اعداده‬ ‫تم‬ ‫الذي‬ ‫الخادم‬ ‫معرفة‬ ‫أج‬:‫االمر‬ ‫ام‬
:‫االمر‬ ‫استخدام‬ ‫يمانك‬ ‫للمشرو‬ ‫خادم‬ ‫إضافة‬ ‫أج‬ ‫ومن‬git remote add [shortname] [url]
‫الخادم‬ ‫من‬ ‫الملفات‬ ‫وسحب‬ ‫جلب‬
‫جلب‬ ‫أو‬ ‫سحب‬ ‫أج‬ ‫من‬:‫االمر‬ ‫استخدام‬ ‫من‬ ‫يد‬ ‫ال‬ ‫المشرو‬ ‫خادم‬ ‫من‬ ‫الملفات‬
$ git remote
origin
$ git remote add pb git://github.com/paulboone/ticgit.git
$ git remote -v
origin git://github.com/schacon/ticgit.git
pb git://github.com/paulboone/ticgit.git
$ git remote -v
origin git://github.com/schacon/ticgit.git
$ git merge perfectdict
$ git checkout master
$ git branch
master*
perfectdict
‫عندما‬‫فأن‬ ‫ما‬ ‫مشرو‬ ‫ياستنساخ‬ ‫تقوم‬‫االستنساخ‬ ‫أمر‬‫يإضافة‬ ‫تلقائيا‬ ‫يقوم‬‫يند‬ ‫تحت‬ ‫للمشرو‬ ‫كمصدر‬ ‫المشرو‬ ‫الى‬ ‫الخادم‬
origin‫على‬ ‫يقوم‬ ‫فأنه‬ ‫السحب‬ ‫أمر‬ ‫تنفيذ‬ ‫عند‬ ‫لذا‬‫منذ‬ ‫الخادم‬ ‫ذلك‬ ‫إلى‬ ‫دفعه‬ ‫تم‬ ‫جديد‬ ‫عم‬ ‫أي‬ ‫جلب‬‫ياستنساخه‬ ‫ممت‬ ‫أن‬‫المهم‬ ‫من‬
‫إلى‬ ‫البيانات‬ ‫يسحب‬ ‫الجلب‬ ‫أمر‬ ‫أن‬ ‫مالحظة‬‫مشروعك‬‫المحلي‬-‫عليه‬ ‫تعم‬ ‫ما‬ ‫يعد‬ ‫أو‬ ‫أعمالك‬ ‫من‬ ‫أي‬ ‫مع‬ ‫.ا‬‫ي‬‫تلقائ‬ ‫يدمجها‬ ‫ال‬ ‫فهو‬
‫ع‬ ‫في‬ ‫.ا‬‫ي‬‫يدو‬ ‫دمجها‬ ‫عليك‬ ‫يجب‬ ‫.ا‬‫ي‬‫حال‬‫.ا‬‫د‬‫مستع‬ ‫تاون‬ ‫عندما‬ ‫ملك‬
‫الخادم‬ ‫الى‬ ‫الملفات‬ ‫دفع‬
‫تريد‬ ‫نقطة‬ ‫في‬ ‫مشروعك‬ ‫لديك‬ ‫ياون‬ ‫عندما‬،‫مشاركتها‬‫إلى‬ ‫دفعها‬ ‫عليك‬ ‫يجب‬‫الخادم‬:‫يسيط‬ ‫لهذا‬ ‫األمر‬git push [remote-
name] [branch-name]
‫يع‬‫استنساخ‬ ‫تم‬ ‫إذا‬ ‫فقط‬ ‫األمر‬ ‫هذا‬ ‫م‬‫المشرو‬‫الوص‬ ‫حق‬ ‫لديك‬ ‫خادم‬ ‫من‬‫يدفع‬ ‫أحد‬ ‫يقم‬ ‫لم‬ ‫وإذا‬ ‫للاتاية‬ ‫و‬‫تعديالته‬‫دفعك‬ ‫أثناء‬ ‫في‬
‫لتعديالتك‬
$ git push origin master
$ git fetch [remote-name]
‫الفصل‬‫الرابع‬:‫في‬ ‫المصادر‬ ‫إدارة‬VS CODE
‫في‬ ‫المصادر‬ ‫إدارة‬ ‫شاشة‬ ‫وإظهار‬ ‫تفعيل‬Visual Studio
Code
‫ان‬Visual Studio Code‫إدارة‬ ‫أساسي‬ ‫يشا‬ ‫يدعم‬‫اإلصدارات‬‫ويالذات‬Git‫مصدر‬ ‫من‬ ‫يأكثر‬ ‫التعام‬ ‫من‬ ‫يمانك‬ ‫حيم‬‫في‬
‫على‬ ‫يالضغط‬ ‫مم‬ ‫اإلصدارات‬ ‫إدارة‬ ‫نافذة‬ ‫واضهار‬ ‫لتفعي‬ ‫الومت‬ ‫نفس‬Ctrl+Shift+G
‫مستودعك‬ ‫في‬ ‫.ا‬‫ي‬‫حال‬ ‫لديك‬ ‫التي‬ ‫التغييرات‬ ‫عدد‬ ‫إلى‬ ‫اليسار‬ ‫على‬ ‫الموجود‬ ‫المصدر‬ ‫في‬ ‫التحام‬ ‫رمن‬ ‫يشير‬ ‫ما‬ ‫ا‬.‫م‬‫دائ‬‫عند‬‫عليه‬ ‫النقر‬
‫الحالية‬ ‫المستود‬ ‫تغييرات‬ ‫تفاصي‬ ‫لك‬ ‫سيعرض‬
‫اليسرى‬ ‫الناوية‬ ‫أسف‬ ‫في‬ ‫يك‬ ‫الخاص‬ ‫المستود‬ ‫لحالة‬ ‫مؤشرات‬ ‫على‬ ‫العثور‬ ‫أيضا‬ ‫يمانك‬‫كما‬‫التالية‬ ‫الصورة‬ ‫في‬
‫التغييرات‬ ‫توضح‬ ‫حيم‬‫الحالي‬ ‫الفر‬ ‫من‬ ‫والصادرة‬ ‫الواردة‬‫كما‬‫يالنقر‬ ‫يك‬ ‫الخاص‬ ‫المستود‬ ‫في‬ ‫فر‬ ‫أي‬ ‫من‬ ‫التحقق‬ ‫يمانك‬
‫مرجع‬ ‫وتحديد‬ ‫الحالة‬ ‫مؤشر‬ ‫فوق‬Git‫القائمة‬ ‫من‬
‫جع‬ ‫يمانك‬Visual Studio Code‫طريق‬ ‫عن‬ ‫دوري‬ ‫يشا‬ ‫والتحديثات‬ ‫التغييرات‬ ‫حالة‬ ‫تحديم‬ ‫على‬ ‫مادرا‬
‫تفعي‬git.autofetch‫البرنامج‬ ‫اعدادت‬ ‫في‬
Commit‫في‬Visual Studio Code
‫رسالة‬ ‫كتاية‬ ‫يمانك‬Commit‫على‬ ‫والضغط‬ ‫التغييرات‬ ‫فوق‬Ctrl + Enter‫أو‬(macOS: ⌘ + Enter)‫هناك‬ ‫كانت‬ ‫إذا‬
‫تغييرات‬ ‫أي‬‫ضمن‬Staged‫التغييرات‬ ‫يا‬ ‫االلتنام‬ ‫فسيتم‬ ‫وإال‬ ، ‫فقط‬ ‫يها‬ ‫االلتنام‬ ‫فسيتم‬ ،
‫في‬ ‫مشروع‬ ‫استنساخ‬Visual Studio Code
‫استنساخ‬ ‫يمانك‬‫مشرو‬Git‫أمر‬ ‫ياستخدام‬Git: Clone‫في‬Command Palette (Ctrl + Shift + P)‫منك‬ ‫ُطلب‬‫ي‬‫س‬
‫عنوان‬URL‫الخاص‬‫يالمشرو‬‫البعيد‬
‫في‬ ‫االلوان‬ ‫مؤشرات‬Visual Studio Code
‫تخنين‬ ‫مستود‬ ‫يمث‬ ‫مجلد‬ ‫يفتح‬ ‫ممت‬ ‫إذا‬Git‫إجراء‬ ‫في‬ ‫وايدأ‬،‫التغييرات‬‫يضيف‬ ‫فسوف‬VS Code‫مفيدة‬ ‫توضيحية‬ ‫تعليقات‬
:‫الى‬ ‫تشير‬ ‫والتي‬
1‫حذف‬ ‫ماان‬ ‫إلى‬ ‫األحمر‬ ‫المثلم‬ ‫يشير‬‫السطور‬
2‫إلى‬ ‫األخضر‬ ‫الشريط‬ ‫يشير‬‫السطور‬‫الجديدة‬ ‫المضافة‬
3‫إلى‬ ‫يشير‬ ‫أزرق‬ ‫شريط‬‫السطور‬‫معدلة‬
‫االعتراضات‬ ‫دمج‬‫في‬Visual Studio Code
‫فان‬ ‫تعارضات‬ ‫وجود‬ ‫عند‬Visual Studio Code‫التغييرات‬ ‫مبو‬ ‫اما‬ ‫طريق‬ ‫عن‬ ‫حلها‬ ‫المستخدم‬ ‫من‬ ‫ويطلب‬ ‫عليها‬ ‫يتعرف‬
‫معا‬ ‫االثنتين‬ ‫مبو‬ ‫أو‬ ‫للمشرو‬ ‫اصدار‬ ‫اخر‬ ‫تمث‬ ‫والتي‬ ‫الخادم‬ ‫على‬ ‫الموجودة‬ ‫التغييرات‬ ‫مبو‬ ‫أو‬ ‫المستخدم‬ ‫يها‬ ‫مام‬ ‫التي‬ ‫المحلية‬
‫ويعد‬‫ال‬ ‫ح‬‫الى‬ ‫تعارض‬ ‫تحتوي‬ ‫التي‬ ‫الملفات‬ ‫حالة‬ ‫تحوي‬ ‫من‬ ‫يد‬ ‫ال‬ ‫المستخدم‬ ‫مب‬ ‫من‬ ‫تعارض‬staged‫عم‬ ‫أج‬ ‫من‬Commit

More Related Content

Similar to إدارة الإصدارات (Version Control)

تصميم نظم
تصميم نظمتصميم نظم
تصميم نظمahmed66710
 
دورة صيانة مختصر
دورة صيانة مختصردورة صيانة مختصر
دورة صيانة مختصرYounes Almansoob
 
الدليل العلمي لنظام الدي سبيس
الدليل العلمي لنظام الدي سبيسالدليل العلمي لنظام الدي سبيس
الدليل العلمي لنظام الدي سبيسAml Sindi
 
ادارة قواعد البيانات.pptx
ادارة قواعد البيانات.pptxادارة قواعد البيانات.pptx
ادارة قواعد البيانات.pptxAhmedOthman511332
 
نظم التشغيل.ppt
نظم التشغيل.pptنظم التشغيل.ppt
نظم التشغيل.pptAymenAyari10
 
Worldshare - oclc | created by Asmaa saad
Worldshare - oclc  | created by Asmaa saadWorldshare - oclc  | created by Asmaa saad
Worldshare - oclc | created by Asmaa saadYOUCAN6
 
نظم ادارية
نظم اداريةنظم ادارية
نظم اداريةMjdBakrii
 
بحث عن نظم تخطيط المشروع ERp
بحث عن نظم تخطيط المشروع ERpبحث عن نظم تخطيط المشروع ERp
بحث عن نظم تخطيط المشروع ERpsherif mansour
 
ReplicationWorkshop.pptx
ReplicationWorkshop.pptxReplicationWorkshop.pptx
ReplicationWorkshop.pptxabdallahabdo6
 
1366136913.9485 نظم ادارة قواعد البيانات 2
1366136913.9485 نظم ادارة  قواعد البيانات 21366136913.9485 نظم ادارة  قواعد البيانات 2
1366136913.9485 نظم ادارة قواعد البيانات 2mh ED
 
9- نظم المعلومات والسجلات الطبية.pdf
9- نظم المعلومات والسجلات الطبية.pdf9- نظم المعلومات والسجلات الطبية.pdf
9- نظم المعلومات والسجلات الطبية.pdfدكتور حاتم البيطار
 

Similar to إدارة الإصدارات (Version Control) (20)

تصميم نظم
تصميم نظمتصميم نظم
تصميم نظم
 
دورة صيانة مختصر
دورة صيانة مختصردورة صيانة مختصر
دورة صيانة مختصر
 
Chapter4 part1
Chapter4 part1Chapter4 part1
Chapter4 part1
 
الدليل العلمي لنظام الدي سبيس
الدليل العلمي لنظام الدي سبيسالدليل العلمي لنظام الدي سبيس
الدليل العلمي لنظام الدي سبيس
 
ادارة قواعد البيانات.pptx
ادارة قواعد البيانات.pptxادارة قواعد البيانات.pptx
ادارة قواعد البيانات.pptx
 
FOSS
FOSSFOSS
FOSS
 
نظام التشغيل
نظام التشغيلنظام التشغيل
نظام التشغيل
 
نظم التشغيل.ppt
نظم التشغيل.pptنظم التشغيل.ppt
نظم التشغيل.ppt
 
ch2.pptx
ch2.pptxch2.pptx
ch2.pptx
 
Worldshare - oclc | created by Asmaa saad
Worldshare - oclc  | created by Asmaa saadWorldshare - oclc  | created by Asmaa saad
Worldshare - oclc | created by Asmaa saad
 
نظم ادارية
نظم اداريةنظم ادارية
نظم ادارية
 
Fair2005
Fair2005Fair2005
Fair2005
 
بحث عن نظم تخطيط المشروع ERp
بحث عن نظم تخطيط المشروع ERpبحث عن نظم تخطيط المشروع ERp
بحث عن نظم تخطيط المشروع ERp
 
ReplicationWorkshop.pptx
ReplicationWorkshop.pptxReplicationWorkshop.pptx
ReplicationWorkshop.pptx
 
1366136913.9485 نظم ادارة قواعد البيانات 2
1366136913.9485 نظم ادارة  قواعد البيانات 21366136913.9485 نظم ادارة  قواعد البيانات 2
1366136913.9485 نظم ادارة قواعد البيانات 2
 
Introduction to lookout
Introduction to lookoutIntroduction to lookout
Introduction to lookout
 
Part software -
Part   software - Part   software -
Part software -
 
9- نظم المعلومات والسجلات الطبية.pdf
9- نظم المعلومات والسجلات الطبية.pdf9- نظم المعلومات والسجلات الطبية.pdf
9- نظم المعلومات والسجلات الطبية.pdf
 
Cds
CdsCds
Cds
 
Cds
CdsCds
Cds
 

إدارة الإصدارات (Version Control)

  • 1. Hussein Younis ‫محفوظة‬ ‫الحقوق‬ ‫جميع‬‫يونس‬ ‫صالح‬ ‫حسين‬ ‫اإلصدارات‬ ‫إدارة‬
  • 2. 2018 ‫الفهرس‬ ‫الفصل‬‫األول‬:‫إدارة‬‫اإلصدارات‬(VERSION CONTROL)------------------------------------------------------------------------3 ( ‫اإلصدارات‬ ‫إدارة‬ ‫هو‬ ‫ما‬Version Control)----------------------------------------------------------------------------------------------------------4 ‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬ ‫أنواع‬--------------------------------------------------------------------------------------------------------------------------4 ‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬ ‫تعمل‬ ‫كيف‬---------------------------------------------------------------------------------------------------------------------6 ‫األخطاء‬ ‫عن‬ ‫والتراجع‬ ‫المفقودة‬ ‫الملفات‬ ‫استرجاع‬---------------------------------------------------------------------------------------------------------6 ‫الفصل‬‫الثاني‬:‫مدخل‬‫الى‬‫نظام‬‫إدارة‬‫المصادر‬(GIT)---------------------------------------------------------------------------7 ‫حاالت‬ ‫هي‬ ‫ما‬Git‫األساسية‬----------------------------------------------------------------------------------------------------------------------------8 ‫في‬ ‫المشروع‬ ‫أقسام‬Git--------------------------------------------------------------------------------------------------------------------------------8 ‫في‬ ‫األساسي‬ ‫العمل‬ ‫سير‬Git----------------------------------------------------------------------------------------------------------------------------8 ‫وتنصيب‬ ‫تحميل‬Git-----------------------------------------------------------------------------------------------------------------------------------9 ‫اعداد‬Git‫مرة‬ ‫ألول‬-----------------------------------------------------------------------------------------------------------------------------------9 ‫الفصل‬‫الثالث‬:‫مبادئ‬GIT-------------------------------------------------------------------------------------------------10 ‫بـ‬ ‫مشروع‬ ‫متابعة‬Git--------------------------------------------------------------------------------------------------------------------------------11 ‫في‬ ‫المشروع‬ ‫على‬ ‫التعديالت‬Git---------------------------------------------------------------------------------------------------------------------11 ‫في‬ ‫مشروع‬‫ال‬ ‫ملفات‬ ‫حالة‬Git-------------------------------------------------------------------------------------------------------------------------12 ‫في‬ ‫جديد‬ ‫ملف‬ ‫تتبع‬Git------------------------------------------------------------------------------------------------------------------------------13 ‫في‬ ‫التتبع‬ ‫من‬ ‫ملفات‬ ‫تجاهل‬Git-----------------------------------------------------------------------------------------------------------------------13 ‫بعملية‬ ‫القيام‬Commit------------------------------------------------------------------------------------------------------------------------------14 ‫التجهيز‬ ‫منطقة‬ ‫تجاوز‬Staging Area----------------------------------------------------------------------------------------------------------------14 ‫عن‬ ‫التراجع‬Commit------------------------------------------------------------------------------------------------------------------------------15 ‫ع‬‫االفر‬ ‫مع‬ ‫التعامل‬-----------------------------------------------------------------------------------------------------------------------------------15 ‫ا‬‫م‬ ‫خادم‬ ‫على‬ ‫موجودة‬ ‫مشاريع‬ ‫مع‬ ‫التعامل‬-------------------------------------------------------------------------------------------------------------16 ‫الخادم‬ ‫من‬ ‫الملفات‬ ‫وسحب‬ ‫جلب‬-----------------------------------------------------------------------------------------------------------------------16 ‫الخادم‬ ‫الى‬ ‫الملفات‬ ‫دفع‬-------------------------------------------------------------------------------------------------------------------------------17 ‫الفصل‬‫الرابع‬:‫إدارة‬‫المصادر‬‫في‬VS CODE---------------------------------------------------------------------------------18 ‫في‬ ‫المصادر‬ ‫إدارة‬ ‫شاشة‬ ‫وإظهار‬ ‫تفعيل‬Visual Studio Code----------------------------------------------------------------------------------------19 Commit‫في‬Visual Studio Code---------------------------------------------------------------------------------------------------------------20 ‫في‬ ‫مشروع‬ ‫استنساخ‬Visual Studio Code---------------------------------------------------------------------------------------------------------20
  • 3. ‫في‬ ‫االلوان‬ ‫مؤشرات‬Visual Studio Code---------------------------------------------------------------------------------------------------------20 ‫في‬ ‫االعتراضات‬ ‫دمج‬Visual Studio Code--------------------------------------------------------------------------------------------------------21 : ‫األول‬ ‫الفصل‬‫اإلصدارات‬ ‫إدارة‬(VERSION CONTROL)
  • 4. ‫ه‬ ‫ما‬‫و‬( ‫اإلصدارات‬ ‫إدارة‬Version Control) ‫تتبع‬ ‫للمستخدم‬ ‫يتيح‬ ‫نظام‬ ‫هو‬‫مجموعة‬ ‫أو‬ ‫ملف‬ ‫على‬ ‫تحدث‬ ‫التي‬ ‫التغيرات‬‫منن‬‫ال‬‫ملفنات‬‫منن‬‫النى‬ ‫الرجنو‬ ‫يمانن‬ ‫يحينم‬ ‫الننمن‬ ‫خنال‬ .‫ا‬‫الحقن‬ )‫(إصدار‬ ‫معينة‬ ‫مرحلة‬‫أيضنا‬‫يمانن‬‫الحاصنلة‬ ‫التغينرات‬ ‫مقارننة‬‫الملفنات‬ ‫علنى‬‫منرور‬ ‫منع‬‫الننمن‬،‫يتعندي‬ ‫منام‬ ‫منن‬ ‫معرفنة‬ ‫أو‬ ‫ما‬ ‫خطأ‬ ‫الى‬ ‫أدى‬ ‫معين‬‫أو‬‫يتقديم‬ ‫مام‬ ‫من‬‫امتراح‬‫يذلك‬ ‫مام‬ ‫ومتى‬ ‫أنه‬ ‫يعني‬ ‫اإلصدارات‬ ‫إدارة‬ ‫نظام‬‫إذا‬‫المستخدم‬ ‫قام‬‫يمكن‬ ،‫ما‬ ‫لسبب‬ ‫المشروع‬ ‫ملفات‬ ‫خسر‬ ‫أو‬ ‫المراحل‬ ‫من‬ ‫مرحلة‬ ‫في‬ ‫ما‬ ‫بخطأ‬‫ه‬ ‫من‬‫بسهولة‬ ‫حالها‬ ‫الى‬ ‫استرجاعها‬. ‫أنواع‬‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬ ‫كان‬‫المستخدم‬‫و‬‫ن‬‫يقومون‬‫على‬"‫الملفات‬ ‫"نسخ‬‫آخر‬ ‫ماان‬ ‫الى‬‫أج‬ ‫من‬‫إدارة‬‫إصدار‬‫ة‬‫الطريقة‬ ‫يهذه‬ ‫المعظم‬ ‫يقوم‬ ‫مشاريعهم‬ ‫الح‬ ‫وكأنها‬ ‫تبدوا‬ ‫ألنها‬‫يحتم‬ ‫ال‬ ‫يشا‬ ‫واألخطاء‬ ‫المشاك‬ ‫تجلب‬ ‫ولانها‬ ، ‫األسه‬.‫ا‬‫أيض‬‫مجلد‬ ‫يأي‬ ‫تنسى‬ ‫أن‬ .‫ا‬‫جد‬ ‫السه‬ ‫من‬ ‫طريق‬ ‫عن‬ ‫الحذف‬ ‫أو‬ ‫يالتغيير‬ ‫تقوم‬ ‫أن‬ ‫أو‬ ‫معينة‬ ‫نسخة‬ ‫وضعت‬‫الخطأ‬‫ما‬ ‫لملف‬ ‫المشكلة‬ ‫هذه‬ ‫لعالج‬:‫يتطوير‬ ‫المبرمجون‬ ‫مام‬‫المحلية‬ ‫إصدارات‬ ‫إدارة‬ ‫أنظمة‬‫ييانات‬ ‫ماعدة‬ ‫تستخدم‬ ‫حيم‬ ،‫فيها‬ ‫تحفظ‬ ‫يسيطة‬ ‫ع‬ ‫التغيرات‬‫إصدارات‬ ‫نظام‬ ‫في‬ ‫الملفات‬ ‫لى‬‫معين‬()‫تشاركية‬ ‫توجد‬ ‫ال‬ ‫حيم‬ ‫واحد‬ ‫جهاز‬ ‫مستوى‬ ‫على‬ ‫ومن‬‫يتطوير‬ ‫المبرمجون‬ ‫مام‬ ‫اإلصدارات‬ ‫نظام‬ ‫في‬ ‫والمركنية‬ ‫التشاركية‬ ‫أج‬‫المركزية‬ ‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬‫تاون‬ ‫حيم‬ ‫مركني‬ ‫خادم‬ ‫في‬ ‫البيانات‬ ‫وماعدة‬ ‫اإلصدارات‬
  • 5. ‫المشرو‬ ‫في‬ ‫المشاركين‬ ‫جميع‬ ، ‫المثا‬ ‫سبي‬ ‫فعلى‬ ‫المحلية‬ ‫اإلصدارات‬ ‫ادارة‬ ‫أنظمة‬ ‫على‬ ‫األفضليات‬ ‫من‬ ‫العديد‬ ‫الطريقة‬ ‫هذه‬ ‫تقدم‬ ‫يعرف‬‫ون‬‫ما‬‫ا‬‫يه‬ ‫يقوم‬ ‫لذي‬‫االخرون‬‫معين‬ ‫حد‬ ‫الى‬‫على‬ ‫المركنية‬ ‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬ ‫مع‬ ‫التعام‬ ‫األسه‬ ‫من‬ ‫فإنه‬ ‫ويالطبع‬ ‫المحلية‬ ‫األنظمة‬ ‫مع‬ ‫التعام‬‫مستخدم‬ ‫ك‬ ‫مب‬ ‫من‬ ‫يياناتها‬ ‫وماعدات‬. ‫مركن‬ ‫على‬ ‫تقوم‬ ‫المركنية‬ ‫األنظمة‬ ‫هذه‬ ‫أنه‬ ‫هي‬ ‫السيئة‬ ‫النقاط‬ ‫هذه‬ ‫أهم‬ .‫ا‬‫أيض‬.‫ا‬‫سيئ‬ .‫ا‬‫جانب‬ ‫الطريقة‬ ‫لهذه‬ ‫فإن‬ ،‫ثانية‬ ‫جهة‬ ‫ومن‬ ،‫ولان‬ ‫إنه‬ ‫أي‬ ،‫للاود‬ ‫واحد‬‫إذا‬‫تومف‬ ‫حص‬‫للخادم‬،‫ف‬‫انه‬‫من‬ ‫أحد‬ ‫يتمان‬ ‫لن‬‫ح‬‫على‬ ‫تعدي‬ ‫يأي‬ ‫القيام‬ ‫أو‬ ‫التغييرات‬ ‫فظ‬‫يعم‬ ‫شيء‬ ‫أي‬ ‫عليه‬‫أيضا‬‫النسخ‬ ‫تعم‬ ‫ولم‬ ،‫المركنية‬ ‫البيانات‬ ‫ماعدة‬ ‫على‬ ‫يحوي‬ ‫والذي‬ ‫األساسي‬ ‫القرص‬ ‫تعط‬ ‫وأن‬ ‫حص‬ ‫إذا‬‫االحتياطية‬ ‫ك‬ ‫ستخسر‬ ‫فإنك‬ ،‫المخبأة‬‫شي‬‫ء‬‫المشرو‬ ‫في‬ ‫عملك‬ ‫تاريخ‬ ‫عن‬ ‫جميع‬ ‫تاون‬ ‫عندما‬ ‫أنه‬ ‫وهي‬ ،.‫ا‬‫أيض‬ ‫المشالة‬ ‫هذه‬ ‫من‬ ‫المحلية‬ ‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬ ‫تعاني‬‫فإنك‬ ‫واحد‬ ‫ماان‬ ‫في‬ ‫المشرو‬ ‫ملفات‬ ‫من‬ ‫خطر‬ ‫على‬‫خسارة‬!‫شيء‬ ‫ك‬ ‫جاءت‬ ‫هنا‬ ‫ومن‬‫الموزعة‬ ‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬‫حيم‬‫المستخدمون‬ ‫يحص‬‫األنظمة‬ ‫هذه‬ ‫في‬‫من‬ ‫نسخة‬ ‫آخر‬ ‫على‬ ‫فقط‬ ‫ليس‬ ‫على‬ ‫الموجود‬ ‫الملفات‬‫الخادم‬‫النظام‬ ‫تاريخ‬ ‫كام‬ ‫على‬ ‫ي‬ ،‫و‬‫الحال‬ ‫هذه‬ ‫في‬‫ة‬‫إذا‬‫ا‬ ‫يمان‬ ‫فإنه‬ ،‫النظام‬ ‫تعط‬‫من‬ ‫نسخة‬ ‫على‬ ‫لحصو‬ ‫مستخدم‬ ‫أي‬ ‫من‬ ‫المشرو‬‫ويالتالي‬‫الى‬‫الخادم‬‫وشاملة‬ ‫كاملة‬ ‫حفظ‬ ‫عملية‬ ‫الحقيقة‬ ‫في‬ ‫هي‬ ‫للاود‬ ‫طلب‬ ‫عملية‬ ‫ك‬ ‫أن‬ ‫أي‬ ‫أخرى‬ ‫مرة‬ ‫المشرو‬ ‫لتاريخ‬
  • 6. ‫تعمل‬ ‫كيف‬‫اإلصدارات‬ ‫إدارة‬ ‫أنظمة‬ ‫األنظمة‬ ‫تقوم‬‫على‬‫(مث‬ ‫األنظمة‬ ‫هذه‬ ‫الملفات‬ ‫على‬ ‫القائمة‬ ‫التغيرات‬ ‫من‬ ‫كقائمة‬ ‫المعلومات‬ ‫يتخنين‬CVS،Subversion، Perforce،Bazaar،‫الومت‬ ‫مرور‬ ‫مع‬ ‫عليها‬ ‫القائمة‬ ‫والتغيرات‬ ‫ملفات‬ ‫كمجموعة‬ ‫تحفظها‬ ‫التي‬ ‫المعلومات‬ ‫مع‬ ‫تتعام‬ )‫وغيرها‬ ‫تعام‬Git‫مع‬‫مرة‬ ‫ك‬ ‫ففي‬ ‫مصغر‬ ‫ملفات‬ ‫نظام‬ ‫من‬ "‫"لقطات‬ ‫أنها‬ ‫على‬ ‫المخننة‬ ‫المعلومات‬‫المستخدم‬ ‫يقوم‬‫يـ‬Commit‫أو‬ ‫حفظ‬‫تقوم‬ ، ‫المشرو‬ ‫حالة‬Git‫لم‬ ‫إذا‬ ‫اللقطة‬ ‫تلك‬ ‫الى‬ .‫ا‬‫رايط‬ ‫وتخنن‬ ‫اللحظة‬ ‫تلك‬ ‫في‬ ‫الملفات‬ ‫جميع‬ ‫عن‬ ‫صورة‬ ‫يأخذ‬‫أي‬ ‫يحدث‬ ‫على‬ ‫تغيير‬،‫ما‬ ‫ملف‬‫فأن‬Git‫يحفظ‬ ‫تقوم‬ ‫ال‬‫ه‬‫تحفظ‬ ‫ي‬ ،‫منه‬ ‫األسبق‬ ‫الملف‬ ‫عن‬ .‫ا‬‫رايط‬ ‫استرجاع‬‫الملفات‬‫المفقو‬‫األخطاء‬ ‫عن‬ ‫والتراجع‬ ‫دة‬ ‫يعملياتك‬ ‫تقوم‬ ‫عندما‬‫خال‬ ‫من‬Git،‫فأن‬Git‫األحيان‬ ‫أغلب‬ ‫في‬‫تقوم‬‫البيانات‬ ‫ماعدة‬ ‫الى‬ ‫معلومات‬ ‫يإضافة‬‫العمليات‬ ‫تلك‬ ‫عن‬ ‫فلذلك‬‫الى‬ ‫العودة‬ ‫أو‬ ‫العملية‬ ‫عن‬ ‫التراجع‬ ‫جدا‬ ‫السه‬ ‫من‬‫لا‬ ‫الوراء‬‫ن‬‫للبيانات‬ ‫فقد‬ ‫يحدث‬ ‫أن‬ ‫يمان‬‫يعملية‬ ‫القيام‬ ‫مب‬Commit
  • 7. ‫خطر‬ ‫دون‬ ‫يالتجارب‬ ‫القيام‬ ‫يإمااننا‬‫الضيا‬ ‫أو‬ ‫للخطر‬ ‫المعلومات‬ ‫تعريض‬ ‫الـ‬ ‫عملية‬ ‫يعد‬ ‫ولان‬ ;‫الحاصلة‬ ‫للتغيرات‬commit‫في‬Git،‫وخاصة‬ ،‫المعلومات‬ ‫خسارة‬ ً‫ا‬‫جد‬ ‫الصعب‬ ‫من‬‫إذا‬‫بعملية‬ ‫تقوم‬ ‫كنت‬ push‫الى‬ ‫بياناتك‬ ‫قاعدة‬ ‫من‬ ‫للتعديالت‬repository‫منظم‬ ‫بشكل‬. ‫الفصل‬‫الثاني‬:‫الى‬ ‫مدخل‬‫المصادر‬ ‫إدارة‬ ‫نظام‬ (GIT)
  • 8. ‫العم‬ ‫مجلد‬ ‫في‬ ‫الموجود‬ ‫الملف‬ ‫اصدار‬Git‫يعتبر‬committed ‫الى‬ ‫اضافته‬ ‫وتم‬ ‫ملف‬ ‫تعدي‬ ‫تم‬ ‫إذا‬staging area‫الملف‬ ‫فان‬staged ‫إذا‬‫الى‬ ‫اضافته‬ ‫يتم‬ ‫ولم‬ ‫ملف‬ ‫تعدي‬ ‫تم‬staging area‫الملف‬ ‫فان‬modified  ‫هي‬ ‫ما‬‫حاالت‬Git‫األساسية‬ Git‫حاالت‬ ‫ثالثة‬ ‫لديه‬‫رئيسية‬‫للملفات‬:‫وهي‬ 1Committed:‫تخنينها‬ ‫تم‬ ‫المعلومات‬ ‫يأن‬‫ي‬‫أ‬‫مان‬‫ماعدة‬ ‫في‬‫البيانات‬ 2Modified:‫الملف‬ ‫على‬ ‫التغيير‬ ‫تم‬‫البيانات‬ ‫ماعدة‬ ‫في‬ ‫المعلومات‬ ‫تخنين‬ ‫يتم‬ ‫لم‬ ‫ولان‬ 3Staged:‫يأن‬ ‫فتعني‬‫تم‬ ‫الملف‬‫حفظ‬ ‫ليتم‬ ‫الحالي‬ ‫يإصداره‬ ‫تعديله‬‫ه‬‫الـ‬ ‫عملية‬ ‫في‬commit‫القادمة‬ ‫في‬ ‫المشروع‬ ‫أقسام‬Git 1‫يـ‬ ‫الخاص‬ ‫المجلد‬Git‫فيه‬ ‫تحفظ‬ ‫الذي‬ ‫الماان‬ ‫هو‬Git‫عن‬ ‫الخاصة‬ ‫المعلومات‬‫ال‬‫األكثر‬ ‫الماان‬ ‫هو‬ ‫هذا‬ ‫مشرو‬‫أهمية‬ ‫في‬Git‫الـ‬ ‫تنسخ‬ ‫عندما‬ ‫نسخه‬ ‫يتم‬ ‫الذي‬ ‫وهو‬ ،repository‫حاسوب‬ ‫من‬‫الى‬‫آخر‬. 2‫مجل‬‫د‬‫من‬ ‫المسحوية‬ ‫الحالية‬ ‫النسخة‬ ‫هو‬ ‫العم‬‫ال‬‫ييانات‬ ‫ماعدة‬ ‫من‬ ‫سحبها‬ ‫سيتم‬ ‫التي‬ ‫الملفات‬ ‫مشرو‬Git‫للمشرو‬ ‫لتقوم‬ ‫لك‬ ‫وتجهينها‬‫يتعديلها‬. 3‫ماا‬‫ن‬‫التهيئة‬(staging area‫مجلد‬ ‫في‬ ‫موجودة‬ ‫تاون‬ ‫ما‬ ‫عادة‬ ،)Git‫المعلومات‬ ‫على‬ ‫وتحتوي‬ ،‫لمشروعك‬‫الخاصة‬ ‫ي‬‫عملية‬commit‫التالية‬( ‫الفهرس‬ ‫ياسم‬.‫ا‬‫أيض‬ ‫الماان‬ ‫هذا‬ ‫الى‬ ‫يشار‬ ‫مد‬index) ‫األساسي‬ ‫العمل‬ ‫سير‬‫في‬Git 1‫المستخدم‬ ‫يقوم‬‫العم‬ ‫مجلد‬ ‫في‬ ‫الملفات‬ ‫على‬ ‫يالتعديالت‬ 2‫توضع‬‫ماان‬ ‫في‬ ‫الملفات‬ ‫هذه‬‫التهيئة‬(staging area) 3‫المستخدم‬ ‫يقوم‬‫يعملية‬Commit،‫حي‬‫م‬‫التهيئة‬ ‫ماان‬ ‫من‬ ‫المهيئة‬ ‫الملفات‬ ‫أخذ‬ ‫يتم‬Staging Area‫يتم‬ ‫ثم‬ ‫ومن‬‫ت‬‫خنين‬ ‫هذه‬‫اللقطة‬‫عم‬ ‫مجلد‬ ‫في‬ ‫نهائي‬ ‫يشا‬Git
  • 9. ‫وتنصيب‬ ‫تحميل‬Git 1‫الماك‬ ‫نظام‬ ‫على‬ ‫التنصيب‬:‫هن‬‫ماك‬ ‫على‬ ‫للتنصيب‬ ‫طريقتين‬ ‫اك‬،‫للتنصيب‬ ‫الرسومية‬ ‫الواجهة‬ ‫استخدام‬ ‫هي‬ ‫األسه‬ ، ‫صفحة‬ ‫من‬ ‫تحميلها‬ ‫يمانك‬ ‫والتي‬‫المشر‬‫كود‬ ‫غوغ‬ ‫على‬ ‫و‬ installer-osx-http://sourceforge.net/projects/git/ 2‫نظام‬ ‫على‬ ‫التنصيب‬‫ويندوز‬:‫تنصيب‬ ‫يمانك‬Git‫ويندوز‬ ‫نظام‬ ‫على‬:‫التالي‬ ‫الرايط‬ ‫طريق‬ ‫عن‬ https://gitforwindows.org/ ‫اعداد‬Git‫مرة‬ ‫ألول‬ ‫على‬ ‫حصلت‬ ‫أن‬ ‫ويعد‬ ‫واآلن‬Git‫القيام‬ ‫عليك‬ ‫سياون‬ ‫ييئتك‬ ‫لتناسب‬ ‫الخيارات‬ ‫يعض‬ ‫تخصيص‬ ‫عليك‬ ‫سيتوجب‬ ،‫نظامك‬ ‫على‬ ‫فقط‬ ‫واحدة‬ ‫مرة‬ ‫التعديالت‬ ‫يهذه‬‫حيم‬‫تريد‬ ‫ومت‬ ‫أي‬ ‫في‬ ‫اإلعدادات‬ ‫هذه‬ ‫تغيير‬ ‫يمانك‬ ‫تأتي‬Git‫تدعى‬ ‫يأداة‬ ‫مرفقة‬git config‫عم‬ ‫يطريقة‬ ‫تتحام‬ ‫التي‬ )‫(المتغيرات‬ ‫الخيارات‬ ‫تعدي‬ ‫تمانك‬ ‫والتي‬Git ‫لـ‬ ‫تنصيبك‬ ‫يعد‬ ‫فعله‬ ‫عليك‬ ‫شيء‬ ‫أو‬Git‫عملية‬ ‫ك‬ ‫أن‬ ‫في‬ ‫تامن‬ ‫األمر‬ ‫هذا‬ ‫أهمية‬ ‫االلاتروني‬ ‫ويريدك‬ ‫اسمك‬ ‫اعداد‬ ‫هو‬ Commit‫في‬Git‫غي‬ ‫يشا‬ ‫لصقها‬ ‫وسيتم‬ ‫المعلومات‬ ‫هذه‬ ‫ستستخدم‬:‫عملياتك‬ ‫ك‬ ‫في‬ ‫للتغيير‬ ‫ماي‬ ‫ر‬ ،.‫ا‬‫وطبع‬‫إذا‬' ‫اضافة‬ ‫عليك‬ ،‫النظام‬ ‫كام‬ ‫على‬ ‫المعلومات‬ ‫هذه‬ ‫تتحدد‬ ‫أن‬ ‫أردت‬--global‫األمر‬ ‫الى‬ '‫وإذا‬‫األمر‬ ‫هذا‬ ‫تجاوز‬ ‫أردت‬ ' ‫يدون‬ ‫األمر‬ ‫هذا‬ ‫تشغي‬ ‫عليك‬ ،‫معين‬ ‫لمشرو‬ ‫مختلفة‬ ‫معلومات‬ ‫وتحديد‬--global‫مشروعك‬ ‫داخ‬ ' ‫إذا‬' ‫أمر‬ ‫استخدام‬ ‫يمانك‬ ،‫إعداداتك‬ ‫على‬ ‫نظرة‬ ‫القاء‬ ‫أردت‬git config --list‫في‬ ‫أعددتها‬ ‫التي‬ ‫الخيارات‬ ‫ياافة‬ ‫مائمة‬ ‫لعرض‬ ' Git: $ git config --list user.name= Hussein Younis user.email= hussein.salah.younis@gmail.com color.status=auto color.branch=auto color.interactive=auto color.diff=auto ... $ git config --global user.name "Hussein Younis" $ git config --global user.email hussein.salah.younis@gmail.com
  • 11. ‫متابعة‬‫مشروع‬‫بـ‬Git ‫يـ‬ ‫مشرو‬ ‫انشاء‬ ‫يمانك‬git‫تبدأ‬ ‫أن‬ ‫في‬ ‫تامن‬ ‫األولى‬ ‫طريقتين‬ ‫يإحدى‬‫يالعم‬‫مشرو‬ ‫على‬‫سايق‬‫أو‬‫على‬‫ملفات‬ ‫يحوي‬ ‫مجلد‬ ‫يحيم‬‫ما‬ ‫تستورد‬‫مشروعك‬ ‫الى‬ ‫فيه‬‫الجديد‬‫أو‬‫تستنسخ‬ ‫أن‬‫مشرو‬‫جاهن‬‫ما‬ ‫مخدم‬ ‫من‬ 1‫للبد‬‫ء‬‫يـ‬ ‫لديك‬ ‫مسبق‬ ‫مشرو‬ ‫تغيرات‬ ‫يمتايعة‬git‫كتاية‬ ‫ثم‬ ‫مشروعك‬ ‫مجلد‬ ‫الى‬ ‫الذهاب‬ ‫عليك‬ ،: ‫هذا‬ ‫يقوم‬‫يأنشاء‬‫فرعي‬ ‫مجلد‬‫تحت‬ ‫جديد‬‫اسم‬. git‫والملفات‬ ‫المعلومات‬ ‫جميع‬ ‫يحوي‬‫إذا‬‫اصدارات‬ ‫يمتايعة‬ ‫أردت‬ ‫البدء‬ ‫عليك‬ ‫يجب‬ ،‫الموجودة‬ ‫الملفات‬‫يأخبار‬Git‫اجراء‬ ‫ثم‬ ‫ومن‬ ‫الملفات‬ ‫يهذه‬commit‫استخدام‬ ‫عليك‬ ‫يهذا‬ ‫للقيام‬ ‫أولي‬ ‫أمر‬git add‫تتبعها‬ ‫ثم‬ ‫ومن‬ ،‫تريد‬ ‫التي‬ ‫يالملفات‬ ‫الاافي‬ ‫يالعدد‬‫ي‬‫أمر‬commit: 2:‫مسبقا‬ ‫موجود‬ ‫مشرو‬ ‫استنساخ‬ ‫ياستنساخ‬ ‫للقيام‬‫مشرو‬‫يـ‬git‫موجود‬.‫ا‬‫مسبق‬-‫المثا‬ ‫سبي‬ ‫على‬ ‫فيه‬ ‫المساهمة‬ ‫تريد‬ ‫مشرو‬-‫ستحتاجه‬ ‫الذي‬ ‫األمر‬ ‫هو‬git clone ‫تقوم‬ ‫عندما‬git‫يعملية‬clone‫المعلوم‬ ‫كام‬ ‫من‬ ‫نسخة‬ ‫على‬ ‫ستحص‬ ‫فإنك‬.‫ا‬‫تقريب‬ ‫ات‬‫ال‬ ‫مخدم‬ ‫على‬ ‫الموجودة‬‫مشرو‬ ‫هذا‬ ‫سيقوم‬‫يأنشاء‬‫ياسم‬ ‫جديد‬ ‫مجلد‬"grit"‫وتجهين‬ ،‘. git'‫داخله‬ ‫في‬ ‫في‬ ‫المشروع‬ ‫على‬ ‫التعديالت‬Git ‫يعض‬ ‫هناك‬ ‫ياون‬ ‫عندما‬‫التعديالت‬‫من‬ ‫يد‬ ‫ال‬ ‫جهازك‬ ‫في‬ ‫المشرو‬ ‫على‬‫عم‬commit‫فيها‬ ‫يص‬ ‫مرة‬ ‫ك‬ ‫في‬ ‫التعديالت‬ ‫لهذه‬ ‫نقطة‬ ‫إلى‬ ‫المشرو‬‫تسجيلها‬ ‫تود‬. ‫ّع‬‫ب‬َ‫ت‬َ‫ت‬ٌ‫م‬ :‫فقط‬ ‫الحالتين‬ ‫إحدى‬ ‫في‬ ‫ياون‬ ‫أن‬ ‫يمان‬ ‫العم‬ ‫مجلد‬ ‫في‬ ‫ملف‬ ‫ك‬ ‫أنه‬ ‫تذكر‬tracked‫ّع‬‫ب‬َ‫ت‬َ‫ت‬ٌ‫م‬ ‫غير‬ ‫أو‬untracked: 1‫أخر‬ ‫في‬ ‫كانت‬ ‫ملفات‬ ‫هي‬ ‫ّعة‬‫ب‬‫تت‬ٌ‫م‬‫ال‬ ‫الملفات‬snapshot‫وضعه‬ ‫أو‬ ‫عليها‬ ‫التعدي‬ ‫أو‬ ‫عليها‬ ‫التعديالت‬ ‫إلغاء‬ ‫ويمان‬‫ا‬‫في‬ ‫حالة‬staged‫أج‬ ‫من‬‫عم‬commit 2‫الملفات‬ ‫ك‬ ‫هي‬ ‫ّعة‬‫ب‬‫تت‬ُ‫م‬‫ال‬ ‫غير‬ ‫الملفات‬‫األخرى‬-‫آخر‬ ‫في‬ .‫ا‬‫موجود‬ ‫يان‬ ‫لم‬ ‫العم‬ ‫مجلد‬ ‫في‬ ‫ملف‬ ‫أي‬snapshot‫وليس‬ .‫ا‬‫معلم‬‫يأنه‬staged ‫سيقوم‬ ،‫الملفات‬ ‫تعد‬ ‫عندما‬git‫أنهم‬ ‫على‬ ‫يتأشيرهم‬modified‫آخر‬ ‫عن‬ ‫يتغيرهم‬ ‫ممت‬ ‫ألنك‬ ،commit‫ثم‬ ‫ومن‬ ‫يه‬ ‫ممت‬‫تقوم‬ ‫يعم‬stage‫ا‬ ‫لهذه‬‫المعدلة‬ ‫لملفات‬‫ومن‬‫يعم‬ ‫تقوم‬ ‫ثم‬commit‫منطقة‬ ‫في‬ ‫التغيرات‬ ‫لجميع‬stage $ git clone git://github.com/schacon/grit.git $ git add *.c $ git add README $ git commit –m 'initial project version' $ git init
  • 12. ‫في‬ ‫المشروع‬ ‫ملفات‬ ‫حالة‬Git ‫األمر‬ ‫ياستخدام‬git status‫يعم‬ ‫ميامك‬ ‫يعد‬ ‫مباشرة‬ ‫األمر‬ ‫هذا‬ ‫يتشغي‬ ‫ممت‬ ‫إذا‬ ‫لدينا‬ ‫الملفات‬ ‫حالة‬ ‫معرفة‬ ‫يماننا‬clone‫يجب‬ :‫التالي‬ ‫يشبه‬.‫ا‬‫شيئ‬ ‫ترى‬ ‫أن‬ ‫نظيف‬ ‫عم‬ ‫مجلد‬ ‫لديك‬ ‫أنه‬ ‫يعني‬ ‫وهذا‬-‫يخبرك‬ ‫األمر‬ ‫هذا‬ ّ‫أن‬ ‫كما‬ ‫ّعة‬‫ب‬‫تت‬ُ‫م‬ ‫غير‬ ‫ملفات‬ ‫أو‬ ‫معدلة‬ ‫ملفات‬ ‫أي‬ ‫اليوجد‬ ،‫آخر‬ ‫يمعنى‬ ‫فر‬ ‫يأي‬branch‫تعم‬ ‫أنت‬‫فالفر‬master‫االفتراضي‬ ‫هو‬ ، ‫مثال‬ ‫جديد‬ ‫ملف‬ ‫إضافة‬ ‫عند‬README‫االمر‬ ‫ياستخدام‬ ‫وممنا‬ ‫المشرو‬ ‫الى‬git status:‫التالي‬ ‫على‬ ‫سنحص‬ ‫فأننا‬ ‫الجديد‬ ‫ملفك‬ ّ‫أن‬ ‫مالحظة‬ ‫يمانك‬README‫تحت‬ ‫فهو‬ ،‫ّع‬‫ب‬‫تت‬ُ‫م‬ ‫غير‬‫تصنيف‬"untracked filesّ‫أن‬ ‫ذلك‬ ‫ويعني‬ "git‫يرى‬ ‫على‬ .‫ا‬‫جديد‬ .‫ا‬‫ملف‬commitّ‫أن‬ .‫ا‬‫علم‬ ‫السايقة؛‬git‫يش‬ ‫ذلك‬ ‫يطلب‬ ‫ممت‬ ‫إذا‬ ‫إال‬ ‫المتتبعة‬ ‫الملفات‬ ‫إلى‬ ‫الملف‬ ‫هذا‬ ‫يإضافة‬ ‫يقوم‬ ‫لن‬‫ا‬ ‫من‬ ‫المشرو‬ ‫حماية‬ ‫أج‬ ‫من‬ ‫ذلك‬ ‫من‬ ‫والهدف‬ ،‫مباشر‬‫إضافتها‬ ‫تود‬ ‫ال‬ ‫ملفات‬ ‫أي‬ $ git status # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # README nothing added to commit but untracked files present (use "git add" to track) $ git status # On branch master nothing to commit, working directory clean
  • 13. ‫في‬ ‫جديد‬ ‫ملف‬ ‫تتبع‬Git ‫جديد‬ ‫ملف‬ ‫يتتبع‬ ‫للقيام‬‫ي‬ ‫نقوم‬‫األمر‬ ‫استخدام‬git add ‫األمر‬ ‫يتنفيذ‬ ‫ممنا‬ ‫إذا‬git status‫الملف‬ ‫أن‬ ‫سنالحظ‬ ‫أخرى‬ ‫مرة‬README.‫ا‬‫وجاهن‬ .‫ا‬‫متتبع‬ ‫أصبح‬staged‫يعملية‬ ‫للقيام‬ commit: ‫في‬ ‫التتبع‬ ‫من‬ ‫ملفات‬ ‫تجاهل‬Git ‫من‬ ‫تود‬ ‫ما‬ .‫ا‬‫غالب‬git‫أو‬.‫ا‬‫تلقائي‬ ‫يإضافتها‬ ‫يقوم‬ ‫ال‬ ‫يحم‬ ‫الملفات‬ ‫من‬ ‫صنف‬ ‫تجاه‬‫أال‬‫متتبعة‬ ‫غير‬ ‫ها‬ّ‫ن‬‫يأ‬ ‫يظهرها‬‫الحال‬ ‫هذه‬ ‫مث‬ ‫في‬‫ة‬ ‫إنشاء‬ ‫يمان‬‫ملف‬gitignore‫يحتويه‬ ‫مد‬ ‫ا‬ّ‫م‬‫ع‬ ‫مثا‬ ‫هذا‬ ‫يتجاهلها‬ ‫نرغب‬ ‫التي‬ ‫الملفات‬ ‫ألسماء‬ ‫أنماط‬ ‫على‬ ‫يحوي‬‫ملف‬ gitignore: ‫يتوجيه‬ ‫يقوم‬ ‫سطر‬ ‫أو‬git‫النو‬ ‫من‬ ‫لواحق‬ ‫ذات‬ ‫ملفات‬ ‫أي‬ ‫تجاه‬ ‫إلى‬o‫أو‬a-‫ملفات‬ ‫وهي‬ ‫األرشيف‬ ‫وملفات‬ ‫الاائنات‬ ‫ملفات‬ ‫يوجه‬ ‫الثاني‬ ‫السطر‬ ‫عادة‬ ‫الاود‬ ‫يناء‬ ‫أدوات‬ ‫تولدها‬ ‫وسيطة‬git‫ملف‬ ‫تاون‬ ‫والتي‬ )~( ‫يالرمن‬ ‫تنتهي‬ ‫ملفات‬ ‫أي‬ ‫تجاه‬ ‫إلى‬‫ات‬ ‫مجلدات‬ ‫يإضافة‬.‫ا‬‫أيض‬ ‫ترغب‬ ‫مد‬ ‫الاود‬ ‫تحرير‬ ‫يرامج‬ ‫يعض‬ ‫تستخدمها‬ .‫ة‬‫عاد‬ ‫مؤمتة‬log‫و‬tmp‫أو‬pid‫التوثيق‬ ‫ملفات‬ ‫حتى‬ ‫أو‬ ‫؛‬ ‫يإضافة‬ ‫ينصح‬ ‫وغيرها‬ ،)‫عادة‬ ‫الاود‬ ‫(من‬ ‫التوليد‬ ‫تلقائية‬‫ملف‬gitignore‫إنشاء‬ ‫يداية‬ ‫في‬‫المشرو‬‫يعض‬ ‫إضافة‬ ‫نتجنب‬ ‫حتى‬ ‫وتلويم‬ ‫الخطأ‬ ‫طريق‬ ‫عن‬ ‫الملفات‬‫المشرو‬ ‫ضمن‬ ‫وضعها‬ ‫يمان‬ ‫التي‬ ‫األنماط‬ ‫مواعد‬‫ملف‬gitignore:‫كالتالي‬ ‫هي‬ *.[oa] *~ $ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: README # $ git add README
  • 14. 1‫تجاهلها‬ ‫يتم‬ )#( ‫يالرمن‬ ‫تبدأ‬ ‫التي‬ ‫األسطر‬ 2‫أنماط‬glob‫تعم‬ ‫القياسية‬ 3.‫ا‬‫مجلد‬ ‫يستهدف‬ ‫أنه‬ ‫على‬ ‫للداللة‬ )/( ‫يرمن‬ ‫النمط‬ ‫إنهاء‬ ‫يمان‬ 4‫مب‬ ‫السطر‬ ‫يداية‬ ‫في‬ )!( ‫التعجب‬ ‫عالمة‬ ‫وضع‬ ‫طريق‬ ‫عن‬ ‫ما‬ ‫نمط‬ ‫نفي‬ ‫يمان‬‫النمط‬ ‫بعملية‬ ‫القيام‬Commit ‫الملفا‬ ‫تجهين‬ ‫اكما‬ ‫يعد‬‫يإضافتها‬ ‫ترغب‬ ‫التي‬ ‫ت‬‫أمر‬ ‫تنفيذ‬ ‫يمانك‬ ،commit‫سج‬ ‫في‬ ‫أجريتها‬ ‫التي‬ ‫التعديالت‬ ‫اعتماد‬ ‫ليتم‬git ‫تجهينه‬ ‫يتم‬ ‫لم‬ ‫ملف‬ ‫أي‬ ّ‫أن‬ ‫تذكر‬-‫األمر‬ ‫ياستخدام‬ ‫يإضافته‬ ‫تقم‬ ‫لم‬ ‫سواء‬git add‫عليه‬ ‫التعدي‬ ‫أو‬ ‫إنشاءه‬ ‫يعد‬-‫هذه‬ ‫في‬ ‫يدخ‬ ‫لن‬ ‫االعتمادية‬‫يأمر‬ ‫القيام‬ ‫هي‬ ‫التعديالت‬ ‫العتماد‬ ‫طريقة‬ ‫أيسط‬ ‫العم‬ ‫مجلد‬ ‫في‬ ‫تعديلها‬ ‫تم‬ ‫ملفات‬ ‫أنها‬ ‫على‬ ‫وستبقى‬ ،git commit :‫كالتالي‬ ‫تنفيذ‬ ‫عند‬‫رسالة‬ ‫إدخا‬ ‫منا‬ ‫سيطلب‬ ‫األمر‬ ‫هذا‬‫االعتماد‬ ‫عمليه‬ ‫عم‬ ‫يمانك‬ ‫أو‬ ‫المشرو‬ ‫على‬ ‫أجريت‬ ‫التي‬ ‫التعديالت‬ ‫تعاس‬ Commit:‫كالتالي‬ ‫مباشرة‬ ‫الرسالة‬ ‫مع‬ ‫التجهيز‬ ‫منطقة‬ ‫تجاوز‬Staging Area ‫يوفر‬ ،‫التجهين‬ ‫منطقة‬ ‫تجاوز‬ ‫أردت‬ ‫إذا‬git‫األمر‬ ‫ياستخدام‬ ‫لذلك‬.‫ا‬‫يسيط‬ .‫ا‬‫اختصار‬git commit -a‫يقوم‬git‫الملفات‬ ‫يإضافة‬ ‫يعم‬ ‫ممت‬ ‫كأنك‬ ،‫تلقائي‬ ‫يشا‬ ‫التجهين‬ ‫منطقة‬ ‫إلى‬ ‫المتتبعة‬git add: $ git status # On branch master # # Changes not staged for commit: # # modified: benchmarks.rb # $ git commit -a -m 'added new benchmarks' [master 83e38c7] added new benchmarks 1 files changed, 5 insertions(+), 0 deletions(-) $ git commit -m "Story 182: Fix benchmarks for speed" $ git commit
  • 15. ‫عن‬ ‫التراجع‬Commit ‫أي‬ ‫في‬،‫مرحلة‬‫كن‬ ‫ما‬ ‫شيء‬ ‫عن‬ ‫التراجع‬ ‫في‬ ‫ترغب‬ ‫مد‬‫ا‬.‫حذر‬‫حيم‬‫التراجع‬ ‫ا‬.‫م‬‫دائ‬ ‫يمانك‬ ‫ال‬‫يه‬ ‫ممت‬ ‫عما‬‫التراجع‬ ‫تريد‬ ‫فعندما‬ ‫عن‬Commit‫التراجع‬ ‫يمانك‬ ‫فأنه‬ ‫الملفات‬ ‫يعض‬ ‫نسبت‬ ‫مد‬ ‫أنك‬ ‫أو‬ ‫االعتمادية‬ ‫رسالة‬ ‫في‬ ‫خطأ‬ ‫تاون‬ ‫مد‬ ‫التي‬ ‫األسباب‬ ‫من‬ ‫لسبب‬ :‫االمر‬ ‫استخدام‬ ‫طريق‬ ‫عن‬ ‫مد‬ ‫يأنك‬ ‫تذكرت‬ ‫ثم‬ ‫ومن‬ ‫اعتماد‬ ‫يعم‬ ‫ممت‬ ‫لو‬ ‫فمثال‬‫ياستخدام‬ ‫اضافته‬ ‫عليك‬ ‫يتوجب‬ ‫فأنه‬ ‫للمشرو‬ ‫اضافته‬ ‫من‬ ‫ما‬ ‫ملف‬ ‫نسيت‬ ‫االمر‬git add‫االمر‬ ‫تنفيذ‬ ‫ثم‬ ‫ومن‬git commit --amend ‫االفرع‬ ‫مع‬ ‫التعامل‬ ‫األفر‬ ‫هي‬ ‫إفادة‬ ‫أكثرهم‬ ‫ريما‬ ‫ولان‬ ‫محددة‬ ‫حالة‬ ‫أو‬ ‫محدد‬ ‫لنمن‬ ‫تغييرات‬ ‫الستعادة‬ .‫ال‬‫مث‬ ‫ومنها‬ ،‫المفيدة‬ ‫األوامر‬ ‫من‬ ‫العديد‬ ‫هناك‬ ‫للبرن‬ ‫رائعة‬ ‫فارة‬ ‫لك‬ ‫خطرت‬ ‫ومد‬ ،‫للترجمة‬ ‫يرنامج‬ ‫تطوير‬ ‫على‬ ‫نعم‬ ‫كفريق‬ ‫اننا‬ .‫ال‬‫مث‬ ‫لنق‬‫تغييرات‬ ‫إلجراء‬ ‫تحتاج‬ ‫ولانها‬ ‫امج‬ ‫إنشاء‬ ‫يمانك‬ ،‫للقلق‬ ‫داعي‬ ‫ال‬ ‫الحقيقة‬ ‫في‬ ‫ولان‬ ،‫ذلك‬ ‫عم‬ ‫من‬ ‫تتخوف‬ ‫ومد‬ ،.‫ا‬‫حالي‬ ‫الموجود‬ ‫الاود‬ ‫على‬ ‫أي‬ ،‫البرنامج‬ ‫على‬ ‫أساسية‬ !‫الحنمة‬ ‫من‬ ‫جديد‬ ‫فر‬ ‫جهازك‬ ‫على‬ .‫ا‬‫حالي‬ ‫الموجودة‬ ‫األفر‬ ‫تفقد‬ ‫يمانك‬ .‫ال‬‫أو‬ ‫فر‬ ‫إلنشاء‬ ‫اآلن‬ ،.‫ا‬‫حالي‬ ‫يه‬ ‫تعم‬ ‫الذي‬ ‫الفر‬ ‫يأنه‬ ‫تعني‬ ‫النجمة‬ ‫وعالمة‬ ‫نفسها‬ ‫الحنمة‬ ‫يحوي‬ ‫فقط‬ ‫واحد‬ ‫فر‬ .‫ا‬‫حالي‬ ‫يوجد‬ ‫أنه‬ ‫أي‬ :‫جديد‬ ‫األصلي‬ ‫الفر‬ ‫في‬ ‫الموجودة‬ ‫الملفات‬ ‫لجميع‬ ‫نسخة‬ ‫أنشأت‬ ‫مد‬ ‫تاون‬ ‫ويالتالي‬master.‫أنشأته‬ ‫الذي‬ ‫الجديد‬ ‫لفر‬ ‫اآلن‬ ‫لتنتق‬ .‫ا‬‫حالي‬ ‫الموجودة‬ ‫األفر‬ ‫إظهار‬ ‫إعادة‬ ‫يمانك‬ $ git branch master perfectdict* $ git checkout perfectdict $ git branch perfectdict $ git branch master* $ git commit -m 'initial commit' $ git add forgotten_file $ git commit --amend $ git commit --amend
  • 16. ‫ضمنه‬ ‫اآلن‬ ‫أنك‬ ‫أي‬ ‫الجديد‬ ‫الفر‬ ‫على‬ ‫موضوعة‬ ‫والنجمة‬ ،‫فرعين‬ ‫لنا‬ ‫عرض‬ ‫فقد‬ ‫تالحظ‬ ‫كما‬. ‫أو‬ ‫الحنمة‬ ‫في‬ ‫الفوضى‬ ‫حدث‬ُ‫ت‬ ‫ولن‬ ‫مستق‬ ‫فر‬ ‫ضمن‬ ‫اآلن‬ ‫فأنت‬ ‫ملق‬ ‫دون‬ ‫تريد‬ ‫وكيفما‬ ‫تريد‬ ‫التي‬ ‫التغييرات‬ ‫إجراء‬ ‫يمانك‬ ‫اآلن‬ ‫األساسي‬ ‫الفر‬. ‫من‬ ‫انتهاءك‬ ‫يعد‬‫التغييرات‬ ‫ودمج‬ ‫األصلي‬ ‫للفر‬ ‫االنتقا‬ ‫يمانك‬ ،‫الجديد‬ ‫الفر‬ ‫على‬ ‫العم‬ ‫األساسي‬ ‫للفر‬ ‫انتقلنا‬ ‫هنا‬master‫يالدمج‬ ‫لنقم‬ ‫اآلن‬ ‫ضمنه‬ .‫ال‬‫فع‬ ‫أننا‬ ‫أي‬ ‫يجواره‬ ‫النجمة‬ ‫يوجود‬ ‫وتأكدنا‬ ‫مشاريع‬ ‫مع‬ ‫التعامل‬‫على‬ ‫موجودة‬‫ما‬ ‫خادم‬ ‫مشرو‬ ‫أي‬ ‫في‬ ‫التعاون‬ ‫على‬ .‫ا‬‫مادر‬ ‫لتاون‬‫ياستخدام‬Git،‫إدارة‬ ‫كيفية‬ ‫معرفة‬ ‫إلى‬ ‫تحتاج‬‫المشاريع‬‫يعد‬ ‫عن‬‫تمث‬ ‫والتي‬‫إصدارات‬ ‫مشروعك‬ ‫من‬‫مستضيفة‬‫العديد‬ ‫على‬ ‫الحصو‬ ‫يمانك‬ ‫ما‬ ‫ماان‬ ‫في‬ ‫شباة‬ ‫أو‬ ‫اإلنترنت‬ ‫على‬،‫منها‬‫فقط‬ ‫للقراءة‬ ‫إما‬ ‫منها‬ ‫ك‬ ‫وياون‬ ‫الاتاية‬ / ‫القراءة‬ ‫أو‬ ‫هذه‬ ‫إدارة‬ ‫على‬ ‫اآلخرين‬ ‫مع‬ ‫التعاون‬ ‫ينطوي‬‫المشاريع‬‫منها‬ ‫وإخراجها‬ ‫البيانات‬ ‫ودفع‬ ‫ُعد‬‫ي‬ ‫عن‬ ‫من‬‫استخد‬ ‫يمانك‬ ‫للمشرو‬ ‫اعداده‬ ‫تم‬ ‫الذي‬ ‫الخادم‬ ‫معرفة‬ ‫أج‬:‫االمر‬ ‫ام‬ :‫االمر‬ ‫استخدام‬ ‫يمانك‬ ‫للمشرو‬ ‫خادم‬ ‫إضافة‬ ‫أج‬ ‫ومن‬git remote add [shortname] [url] ‫الخادم‬ ‫من‬ ‫الملفات‬ ‫وسحب‬ ‫جلب‬ ‫جلب‬ ‫أو‬ ‫سحب‬ ‫أج‬ ‫من‬:‫االمر‬ ‫استخدام‬ ‫من‬ ‫يد‬ ‫ال‬ ‫المشرو‬ ‫خادم‬ ‫من‬ ‫الملفات‬ $ git remote origin $ git remote add pb git://github.com/paulboone/ticgit.git $ git remote -v origin git://github.com/schacon/ticgit.git pb git://github.com/paulboone/ticgit.git $ git remote -v origin git://github.com/schacon/ticgit.git $ git merge perfectdict $ git checkout master $ git branch master* perfectdict
  • 17. ‫عندما‬‫فأن‬ ‫ما‬ ‫مشرو‬ ‫ياستنساخ‬ ‫تقوم‬‫االستنساخ‬ ‫أمر‬‫يإضافة‬ ‫تلقائيا‬ ‫يقوم‬‫يند‬ ‫تحت‬ ‫للمشرو‬ ‫كمصدر‬ ‫المشرو‬ ‫الى‬ ‫الخادم‬ origin‫على‬ ‫يقوم‬ ‫فأنه‬ ‫السحب‬ ‫أمر‬ ‫تنفيذ‬ ‫عند‬ ‫لذا‬‫منذ‬ ‫الخادم‬ ‫ذلك‬ ‫إلى‬ ‫دفعه‬ ‫تم‬ ‫جديد‬ ‫عم‬ ‫أي‬ ‫جلب‬‫ياستنساخه‬ ‫ممت‬ ‫أن‬‫المهم‬ ‫من‬ ‫إلى‬ ‫البيانات‬ ‫يسحب‬ ‫الجلب‬ ‫أمر‬ ‫أن‬ ‫مالحظة‬‫مشروعك‬‫المحلي‬-‫عليه‬ ‫تعم‬ ‫ما‬ ‫يعد‬ ‫أو‬ ‫أعمالك‬ ‫من‬ ‫أي‬ ‫مع‬ ‫.ا‬‫ي‬‫تلقائ‬ ‫يدمجها‬ ‫ال‬ ‫فهو‬ ‫ع‬ ‫في‬ ‫.ا‬‫ي‬‫يدو‬ ‫دمجها‬ ‫عليك‬ ‫يجب‬ ‫.ا‬‫ي‬‫حال‬‫.ا‬‫د‬‫مستع‬ ‫تاون‬ ‫عندما‬ ‫ملك‬ ‫الخادم‬ ‫الى‬ ‫الملفات‬ ‫دفع‬ ‫تريد‬ ‫نقطة‬ ‫في‬ ‫مشروعك‬ ‫لديك‬ ‫ياون‬ ‫عندما‬،‫مشاركتها‬‫إلى‬ ‫دفعها‬ ‫عليك‬ ‫يجب‬‫الخادم‬:‫يسيط‬ ‫لهذا‬ ‫األمر‬git push [remote- name] [branch-name] ‫يع‬‫استنساخ‬ ‫تم‬ ‫إذا‬ ‫فقط‬ ‫األمر‬ ‫هذا‬ ‫م‬‫المشرو‬‫الوص‬ ‫حق‬ ‫لديك‬ ‫خادم‬ ‫من‬‫يدفع‬ ‫أحد‬ ‫يقم‬ ‫لم‬ ‫وإذا‬ ‫للاتاية‬ ‫و‬‫تعديالته‬‫دفعك‬ ‫أثناء‬ ‫في‬ ‫لتعديالتك‬ $ git push origin master $ git fetch [remote-name]
  • 19. ‫في‬ ‫المصادر‬ ‫إدارة‬ ‫شاشة‬ ‫وإظهار‬ ‫تفعيل‬Visual Studio Code ‫ان‬Visual Studio Code‫إدارة‬ ‫أساسي‬ ‫يشا‬ ‫يدعم‬‫اإلصدارات‬‫ويالذات‬Git‫مصدر‬ ‫من‬ ‫يأكثر‬ ‫التعام‬ ‫من‬ ‫يمانك‬ ‫حيم‬‫في‬ ‫على‬ ‫يالضغط‬ ‫مم‬ ‫اإلصدارات‬ ‫إدارة‬ ‫نافذة‬ ‫واضهار‬ ‫لتفعي‬ ‫الومت‬ ‫نفس‬Ctrl+Shift+G ‫مستودعك‬ ‫في‬ ‫.ا‬‫ي‬‫حال‬ ‫لديك‬ ‫التي‬ ‫التغييرات‬ ‫عدد‬ ‫إلى‬ ‫اليسار‬ ‫على‬ ‫الموجود‬ ‫المصدر‬ ‫في‬ ‫التحام‬ ‫رمن‬ ‫يشير‬ ‫ما‬ ‫ا‬.‫م‬‫دائ‬‫عند‬‫عليه‬ ‫النقر‬ ‫الحالية‬ ‫المستود‬ ‫تغييرات‬ ‫تفاصي‬ ‫لك‬ ‫سيعرض‬ ‫اليسرى‬ ‫الناوية‬ ‫أسف‬ ‫في‬ ‫يك‬ ‫الخاص‬ ‫المستود‬ ‫لحالة‬ ‫مؤشرات‬ ‫على‬ ‫العثور‬ ‫أيضا‬ ‫يمانك‬‫كما‬‫التالية‬ ‫الصورة‬ ‫في‬ ‫التغييرات‬ ‫توضح‬ ‫حيم‬‫الحالي‬ ‫الفر‬ ‫من‬ ‫والصادرة‬ ‫الواردة‬‫كما‬‫يالنقر‬ ‫يك‬ ‫الخاص‬ ‫المستود‬ ‫في‬ ‫فر‬ ‫أي‬ ‫من‬ ‫التحقق‬ ‫يمانك‬ ‫مرجع‬ ‫وتحديد‬ ‫الحالة‬ ‫مؤشر‬ ‫فوق‬Git‫القائمة‬ ‫من‬
  • 20. ‫جع‬ ‫يمانك‬Visual Studio Code‫طريق‬ ‫عن‬ ‫دوري‬ ‫يشا‬ ‫والتحديثات‬ ‫التغييرات‬ ‫حالة‬ ‫تحديم‬ ‫على‬ ‫مادرا‬ ‫تفعي‬git.autofetch‫البرنامج‬ ‫اعدادت‬ ‫في‬ Commit‫في‬Visual Studio Code ‫رسالة‬ ‫كتاية‬ ‫يمانك‬Commit‫على‬ ‫والضغط‬ ‫التغييرات‬ ‫فوق‬Ctrl + Enter‫أو‬(macOS: ⌘ + Enter)‫هناك‬ ‫كانت‬ ‫إذا‬ ‫تغييرات‬ ‫أي‬‫ضمن‬Staged‫التغييرات‬ ‫يا‬ ‫االلتنام‬ ‫فسيتم‬ ‫وإال‬ ، ‫فقط‬ ‫يها‬ ‫االلتنام‬ ‫فسيتم‬ ، ‫في‬ ‫مشروع‬ ‫استنساخ‬Visual Studio Code ‫استنساخ‬ ‫يمانك‬‫مشرو‬Git‫أمر‬ ‫ياستخدام‬Git: Clone‫في‬Command Palette (Ctrl + Shift + P)‫منك‬ ‫ُطلب‬‫ي‬‫س‬ ‫عنوان‬URL‫الخاص‬‫يالمشرو‬‫البعيد‬ ‫في‬ ‫االلوان‬ ‫مؤشرات‬Visual Studio Code ‫تخنين‬ ‫مستود‬ ‫يمث‬ ‫مجلد‬ ‫يفتح‬ ‫ممت‬ ‫إذا‬Git‫إجراء‬ ‫في‬ ‫وايدأ‬،‫التغييرات‬‫يضيف‬ ‫فسوف‬VS Code‫مفيدة‬ ‫توضيحية‬ ‫تعليقات‬ :‫الى‬ ‫تشير‬ ‫والتي‬ 1‫حذف‬ ‫ماان‬ ‫إلى‬ ‫األحمر‬ ‫المثلم‬ ‫يشير‬‫السطور‬
  • 21. 2‫إلى‬ ‫األخضر‬ ‫الشريط‬ ‫يشير‬‫السطور‬‫الجديدة‬ ‫المضافة‬ 3‫إلى‬ ‫يشير‬ ‫أزرق‬ ‫شريط‬‫السطور‬‫معدلة‬ ‫االعتراضات‬ ‫دمج‬‫في‬Visual Studio Code ‫فان‬ ‫تعارضات‬ ‫وجود‬ ‫عند‬Visual Studio Code‫التغييرات‬ ‫مبو‬ ‫اما‬ ‫طريق‬ ‫عن‬ ‫حلها‬ ‫المستخدم‬ ‫من‬ ‫ويطلب‬ ‫عليها‬ ‫يتعرف‬ ‫معا‬ ‫االثنتين‬ ‫مبو‬ ‫أو‬ ‫للمشرو‬ ‫اصدار‬ ‫اخر‬ ‫تمث‬ ‫والتي‬ ‫الخادم‬ ‫على‬ ‫الموجودة‬ ‫التغييرات‬ ‫مبو‬ ‫أو‬ ‫المستخدم‬ ‫يها‬ ‫مام‬ ‫التي‬ ‫المحلية‬ ‫ويعد‬‫ال‬ ‫ح‬‫الى‬ ‫تعارض‬ ‫تحتوي‬ ‫التي‬ ‫الملفات‬ ‫حالة‬ ‫تحوي‬ ‫من‬ ‫يد‬ ‫ال‬ ‫المستخدم‬ ‫مب‬ ‫من‬ ‫تعارض‬staged‫عم‬ ‫أج‬ ‫من‬Commit