استفسار عن Git

ٌR_Radi • منذ 6 سنوات

لدي استفسار عن Git وهو هذا السؤال لم أفهمه

 

ملف HTML يحوي تعديلات في كود HTML و CSS في دليل الإثبات وتعديل HTML إضافي في المجلد العامل. باتباعك ما تعلمته للآن حول كيفية عمل التعديلات commits، ما الذي سيتم تعديله إذا تم إنشاء تعديل الآن؟

  • The Html and css file and changes on staging index
كلمات دليلية: git

الإجابة الصحيحة

Ahmed • منذ 6 سنوات

السؤال مثل ما فهمت ، ان في ملفين html و css في Staging Area وبعدين كمثال تذكرنا ان نسينا تعديل بسيط في ملف html. 

الآن اذا تم التعديل على ملف html راح يكون في نظام الـ Git نسختين للـ html : ١- التعديل السابق (Staging Area) ٢- التعديل الجديد(Working Directory)

ولو شغلنا امر الـ commit راح نضيف التعديل السابق للـ Local Repository اللي هي مرحلة الإعتماد .. 

حاولت اشرح بالصور اذا الكلام مو مفهوم : 

١ - عندنا ملفين html و css في Staging Area

٢-  تم التعديل على ملف html راح يكون في نظام الـ Git نسختين للـ html : ١- التعديل السابق (Staging Area) ٢- التعديل الجديد(Working Directory) او ماهو متتبع (Untracked)

٣ - ولو شغلنا امر الـ commit راح نضيف التعديل السابق للـ Local Repository

 

طيب بما ان عندك فكرة عامة عن Git ، خلينا ناخذ الموضوع بالتفصيل الآن ونشوف كيف يشتغل آيش هي فائدة Staging Area او Staging Index ( كلها نفس المعنى )

فكرة Git نفس الفكرة التالية : 

١- انشاء ملف 

٢- حفظ 

٣ - تعديل 

٤ - إعادة الـحفظ بعد التعديل 

الفرق المهم ، ان Git يتتبع آيش التغير ومتئ صار ومن اللي غيرة ويعطي معلومات عن التغيير برسالة احنا ننشئها ..

كل الملفات الجديدة اللي لم تتم ارسالها للـ Staging Area ما يعرف عنها النظام ولا يقدر يتتبعها ، الإ في حال ان تم اضافتها في السابق لـلـ Staging Area او Local Repository ولها نسخة في النظام محفوظة. 

 

اتمنى ان الشرح واضح !! واذا في سؤال لا تتردد 

الإجابات (2)

Ahmed • منذ 6 سنوات

اذا تكرمت ممكن تشرح السؤال او ترسل السؤال نفسه من غير ترجمة ؟ 

لكن راح اعطيك اجابة متختصرة .. لما نتكلم عن git (اداة التحكم بالنسخ) هي تساعد على حفظ النسخ وتتبع التغيرات في الملفات.

 * * غالباَ يمر الملف في ٤ مراحل اساسيـة :

١ - Working Directory : المجلد اللي بداخلة الملفات . لازم تهيئ المجلد بـ git.

٢ - Staging Area : المراحلة البدائية قبل اعتماد الملف الجديد ، او التعديلات الجديدة.

٣ - Local Repository : المرحلة بعد الإعتماد وتكون في جهازك ، في هذي المرحلة تستطيع الرجوع للنسخة القديمة.

٤ - Remote Repository : المرحلة بعد اعتماد التعديلات وارسالها للسيرفر الخارجي ان كان يتبع شركة تشتغل معهم او مصدر مفتوح مثل GitHub.

مثال : انت مصمم ومبرمج مواقع ، والزوبن يبي ٣ تصاميم للصفحة الرئيسية لموقع معين علشان يقرر آي من التصاميم يعتمده قبل تبدأ البرمجة. انت تبدأ تشتغل على التصاميم في Working Directory. بعد الإنتهاء من التصاميم تضيفهم لـ Staging Area. تكلم الزبون يجي ويشوف التصاميم ، بعدها يقرر. التصميم اللي يقرره الزبون يصير تضيفة Local Repository. 

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

 

في اشياء ومواضيع كثيييره والحديث يطول جداََ في هذا الموضوع ولكن هذا بإختصار شديد كيف تبدأ مع git ..

ٌR_Radi: السؤال يقول أن هناك تعديلات في ملفين html , css في Staging Index و تعديل في ملف html في working directory الآن لو أجرينا تعديل إضافي على html ماالذي سبتم تعديله؟  ٢ - Staging Area : المراحلة البدائية قبل اعتماد الملف الجديد ، او التعديلات الجديدة. لو تكرمت ماهي فائدة staging area ? إجابتك مفصلة استفدت منها كثيرا شكرا

Ahmed • منذ 6 سنوات
الإجابة الصحيحة
مميز

السؤال مثل ما فهمت ، ان في ملفين html و css في Staging Area وبعدين كمثال تذكرنا ان نسينا تعديل بسيط في ملف html. 

الآن اذا تم التعديل على ملف html راح يكون في نظام الـ Git نسختين للـ html : ١- التعديل السابق (Staging Area) ٢- التعديل الجديد(Working Directory)

ولو شغلنا امر الـ commit راح نضيف التعديل السابق للـ Local Repository اللي هي مرحلة الإعتماد .. 

حاولت اشرح بالصور اذا الكلام مو مفهوم : 

١ - عندنا ملفين html و css في Staging Area

٢-  تم التعديل على ملف html راح يكون في نظام الـ Git نسختين للـ html : ١- التعديل السابق (Staging Area) ٢- التعديل الجديد(Working Directory) او ماهو متتبع (Untracked)

٣ - ولو شغلنا امر الـ commit راح نضيف التعديل السابق للـ Local Repository

 

طيب بما ان عندك فكرة عامة عن Git ، خلينا ناخذ الموضوع بالتفصيل الآن ونشوف كيف يشتغل آيش هي فائدة Staging Area او Staging Index ( كلها نفس المعنى )

فكرة Git نفس الفكرة التالية : 

١- انشاء ملف 

٢- حفظ 

٣ - تعديل 

٤ - إعادة الـحفظ بعد التعديل 

الفرق المهم ، ان Git يتتبع آيش التغير ومتئ صار ومن اللي غيرة ويعطي معلومات عن التغيير برسالة احنا ننشئها ..

كل الملفات الجديدة اللي لم تتم ارسالها للـ Staging Area ما يعرف عنها النظام ولا يقدر يتتبعها ، الإ في حال ان تم اضافتها في السابق لـلـ Staging Area او Local Repository ولها نسخة في النظام محفوظة. 

 

اتمنى ان الشرح واضح !! واذا في سؤال لا تتردد 

Ahmed: الفائدة من الـ Staging Area ، آي ملف يتم اضافته للـ Staging Area يتم تتبعه وإلا لن يعرف عنه النظام اي شي . وكذلك كثير من المبرمجين او اللي يستخدمون Git يعتبرونه مرحلة ما قبل الإعتماد النهائي.

ٌR_Radi: شكرا لك وجزاك الله ألف خير فعلا فهمت الآن من شرحك شكرا

Ahmed: العفو ، الله يسعدك ويجزاك بالمثل !

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !