تجاوز إلى المحتوى
العربية
المستوى 8: Git على طريقة Claude
الدرس 5 · +10 XP

جهازك مقابل النسخة المشتركة

إليك ما يفاجئ الجميع تقريبًا: كلّ commit أجريته حتى الآن هو خاصّ. يعيش على حاسوبك وفي لا مكان آخر. زميلك في الفريق لا يستطيع رؤيته. وحاسوب ثانٍ تملكه أنت لا يستطيع رؤيته. ليس حتى تعمل push.

الـ commit يحفظ عملك محليًا. أمّا الـ push فينشره إلى النسخة المشتركة التي يراها الجميع.

ثمّة نسختان من المشروع. نسختك، على جهازك (local)، والنسخة المشتركة — عادةً على GitHub — التي يسحب منها الفريق كلّه (الـ remote). هذا هو ذاته الفصل بين الـ local وما هو في مكان آخر الذي قابلته في الدرس 3.9. تتراكم الـ commits محليًا؛ وgit push يرسلها صعودًا إلى الـ remote. والعكس، git pull، ينزّل إليك commits زملائك.

الـ push باب من نوع مختلف

الـ commit المحلي ملكك بالكامل. تستطيع إعادة كتابته، وحذفه، وإعادته — لم يره أحد، فلا ضرر وقع.

الـ push يغيّر ذلك. في اللحظة التي تصل فيها الـ commits الخاصة بك إلى النسخة المشتركة، يستطيع آخرون عمل pull لها، والبناء فوقها، والاعتماد عليها. ولا يمكنك عمل undo لذلك بنظافة. ذلك هو الـ one-way door، النوع الذي تعلّمت أن تتمهّل عنده في الدرس 6.4.

وهو كذلك بالضبط سبب اعتبار السرّ الذي عُمل له push (من الدرس 8.2) مكشوفًا: في اللحظة التي يغادر فيها جهازك، عليك أن تفترض أن أحدهم بات يملكه.

الـ push ليس خطيرًا — ستفعله باستمرار. لكنه الخطّ الفاصل بين “مسوّدة خاصّة على حاسوبي المحمول” و”في العلن أمام العالم”. امنحه نصف الثانية ذاتها من الانتباه التي تمنحها لأيّ one-way door.

على طريقة Claude

اعمل push لهذا الـ branch
push this branch

يشغّله Claude. وفي أوّل مرّة تعمل push فيها لـ branch جديد تمامًا، يهيّئه Claude لك أيضًا على الـ remote — دون طقس إعداد تحفظه عن ظهر قلب. ولا شيء يغادر جهازك حتى تقول الكلمة: الصمت يعني أنه ما زال ملكك وحدك.

ما التالي

الـ push يضع الـ branch الخاص بك على GitHub — لكنه يجلس جانبًا. المشروع الحقيقي (main) ما زال لا يملك تغييراتك. ولاقتراح طيّها داخله، تفتح pull request. التالي.