الدرس 1 · الأساسيات
ميّز بين Git وGitTree ومزوّد الاستضافة
تعرّف إلى الأداة التي تحفظ السجل، ودور مساحة العمل على سطح المكتب، والخدمات التي يقدّمها المضيف. ستفحص Git وGitTree دون إنشاء مستودع الدورة بعد.
- المستوى: مبتدئ
- قراءة 7 دقائق
- فيديو 4 دقائق
- آخر تحديث
- قبل هذا الدرس: لا يحتاج إلى درس سابق
حُفظ التقدّم في هذا المتصفح.
يحمّل التشغيل الفيديو من YouTube (وضع الخصوصية المحسّنة).
ما الذي ستتعلّمه؟
- تفسير إمكان أن ينشئ Git نفسه إيداعًا محليًا دون حساب GitHub أو GitLab أو GitTree.
- التمييز بين عمليات Git وميزات التطبيق والإجراءات المرتبطة بالمزوّد.
- فهم رسالة غياب المستودع دون الخلط بينها وبين غياب Git.
- تحديد أثر فحص البداية في ملفاتك ومراجعك وحالة التطبيق.
قبل أن تبدأ
ابدأ دون مستودع للدورة: لم يُنشأ شيء بعد. لا تفتح مستودع عمل مهمًا لهذا الدرس. تنشئ مستودع الدورة في الدرس الرابع.
فُحصت أوامر الطرفية هنا باستخدام Git 2.52.0 على macOS وعلى Ubuntu 24.04. قد يختلف رقم نسختك، ويشرح الدرس الثاني التثبيت وحد GitTree الأدنى، وهو Git 2.39.0. وقد تختلف صياغة الأخطاء قليلًا في طرفية أخرى. سُجّلت خطوات GitTree في GitTree 1.4 على Ubuntu 24.04. وعلى macOS اضغط Command وOption حيث يستخدم Windows وLinux مفتاحي Ctrl وAlt.
لا يحتاج Git الأصلي إلى حساب للعمل المحلي. يطلب GitTree تسجيل الدخول ببريدك الإلكتروني أو بمزوّد Git، ثم تشمل الخطة المجانية كل ميزات Git المحلية وتبقى مستودعاتك على جهازك. سُجّل الفيديو قبل أن يصبح تسجيل الدخول مطلوبًا، لذلك لا تظهر نافذته فيه. ويتطلب تشغيل نور والتكاملات والمسودات الذكية وصول Pro أو تجربة سارية مناسبة. قراءة الدرس لا تمنح صلاحية لدى المزوّد.
الفكرة
تخيّل أن ملفات مشروعك تحتوي على عنوان لصفحة تعريفية. يستطيع Git إنشاء إيداع يحفظ لقطة ويربطها بتاريخ المشروع. توجد بيانات المستودع محليًا، ولا يتطلب حفظ السجل المحلي حساب استضافة.
أما GitTree فهو عميل Git لسطح المكتب على macOS وWindows وLinux. يعرض حالة المستودع ويرسل العمليات المختارة إلى Git المثبّت لديك. ويحتفظ أيضًا بحالة تخص التطبيق، مثل مساحات العمل والتفضيلات وسجل التراجع. هذه الميزات لا تجعل التطبيق خادم استضافة.
يحتفظ مزوّد الاستضافة بمستودع بعيد، وقد يضيف طلبات المراجعة والمشكلات وخدمات CI. تستخدم تسجيلات CI/CD الأساسية هنا GitLab ومُشغِّلًا محليين على جهاز المؤلف. يعرض GitTree النتائج التي يدعمها، بينما ينفّذ المُشغِّل المهمة.
يمكن تشبيه Git بأداة حفظ نسخ المشروع المسجّلة، وGitTree بمنضدة تفحص عليها عملك وتختار إجراءاته، والمضيف بخدمة مشاركة لها قواعدها. لا تعتمد على التشبيه لتقدير الاستعادة: لقطة محلية لا تعكس تلقائيًا إجراءً قبله الخادم.
| التصنيف | مثال | مصدر الحالة |
|---|---|---|
| Git الأصلي | تجهيز ملف أو إنشاء إيداع محلي | المستودع والفهرس والمراجع التي يقرأها Git |
| ميزة خاصة بـGitTree | تعديل تفضيل أو استخدام سجل تراجع التطبيق | حالة التطبيق وسجل العملية الفعلي |
| إجراء مرتبط بالمزوّد | مراجعة طلب أو فحص مهمة خط أنابيب | المزوّد والمشروع والصلاحية والقدرة المدعومة |
يسمّي GitLab عنصر المراجعة merge request، وقد تستخدم أوامر GitTree المشتركة اسم Pull Request. وهو ليس عملية الدمج الأصلية نفسها. نطبّق هذا الفرق في الدرس 61.
أثر الدرس في الحالة
لا يوجد مستودع للدورة، ومن ثم لا يوجد مجلد عمل أو فهرس أو فرع محلي أو مرجع تتبّع بعيد خاص به. لا تنشئ استعلامات الطرفية شيئًا منها. فتح علامة تبويب وقراءة الدليل لا ينشئان مستودعًا ولا يدفعان عملًا. وقد يسجّل إغلاق دليل الميزات نسخة الدليل الأخيرة التي شاهدتها في تفضيل محلي للتطبيق؛ وهذه حالة منفصلة عن المستودع.
اسم الميزة العام لا يثبت دعم كل مزوّد. قد يوفّر موقع الخدمة إجراءً لا يعرضه محوّل GitTree الحالي.
| الأداة | ما الذي تملكه | مثال |
|---|---|---|
| Git | سجل المستودع المحلي | تجهيز ملف وإنشاء إيداع محلي |
| GitTree | سير العمل على سطح المكتب وحالة التطبيق | تغيير تفضيل، واستخدام التراجع في GitTree |
| مزوّد الاستضافة | المستودع البعيد والخدمات المستضافة | مراجعة طلب دمج، وتشغيل مهمة في خط CI |
في الطرفية
افحص النسخة دون تعديل الملفات:
git --versionالمخرجات التي لوحظت على جهاز كتابة الأمثلة:
git version 2.52.0تثبت هذه النتيجة أن الطرفية وجدت Git، وتعرض نسخة الملف التنفيذي. ولا تثبت وجود مستودع أو اتصال بمزوّد أو نسخة مثبتة من GitTree.
نفّذ استعلام الحالة في مجلد تعرف أنه ليس مستودعًا:
git status --shortالمخرجات التي لوحظت في مجلد كتابة الأمثلة غير التابع لمستودع:
fatal: not a git repository (or any of the parent directories): .gitينتهي الأمر برمز خروج غير صفري. هذا مثال فشل مقصود: عمل Git، لكن المجلد لا يملك سياق مستودع. لا تنشئ مستودعًا عشوائيًا لإخفاء الرسالة؛ سننشئ المجلد المقصود في الدرس الرابع.
لعرض فهرس Git نفسه:
git help --all --no-aliases --no-external-commandsمقتطف حرفي من المخرجات المحلية لـGit 2.52.0 (يضيف الفيديو | head -12 ليعرض الأسطر الأولى فقط):
Main Porcelain Commands
add Add file contents to the index
am Apply a series of patches from a mailbox
archive Create an archive of files from a named tree
backfill Download missing objects in a partial cloneهذا مقتطف محدد، وليس المخرجات كلها. تضم القائمة المحلية الموحّدة 170 مدخلًا من الأوامر والواجهات. وجود دليل أو أداة مساعدة فيها لا يعني وجود زر مكافئ في GitTree.
في GitTree
- افتح علامة تبويب جديدة (New Tab)، بالأمر
tab.new. الاختصار الافتراضي Command+T على macOS وCtrl+T على Windows وLinux. تظهر شاشة فتح المستودع؛ لا تنشئ شيئًا. - افتح لوحة الأوامر… (Command Palette…) بالأمر
palette.open، واختصار Command+Shift+P أو Ctrl+Shift+P. اكتب دليل الميزات (Feature Guide) واختر النتيجة بهذا الاسم. تظهر نافذة الدليل. - المسار البديل هو Alt+H، أي Option+H على macOS. قد يكون المستخدم قد عدّل الاختصار، فراجعه في مساعدة الاختصارات إن اختلف.
- اختر الميزات، واكتب CI/CD في البحث في الميزات (Search features). افحص البطاقة المسماة تشغيلات CI/CD (CI/CD runs). عند عدم فتح مستودع، تنص رسالة المتطلب في المصدر على افتح مستودعًا لاستخدامها. وصف الميزة لا يثبت تشغيل مهمة.
- اختر التكاملات (Integrations). الرسالة المتوقعة دون مستودع هي افتح مستودعًا لترى ما يدعمه مزوّده. لا تربط حسابًا ولا تنشئ مستودعًا بعيدًا الآن.
- اضغط Escape لإغلاق الدليل واستعادة التركيز. احتفظ بعلامة التبويب الجديدة. لا يوجد مخطط للمشروع لأننا لم ننشئه بعد.
النتيجة
أصبحت تستطيع تحديد مالك كل عملية: Git للسجل المحلي، وGitTree لمساحة العمل وحالة التطبيق، والمزوّد والمُشغِّل لخدمات المراجعة وCI. ما زالت الدورة بلا مستودع أو مخطط: تنتهي حيث بدأت، لكنك تعرف الآن مالك كل جزء.
أخطاء شائعة
- «الإيداع يعني رفع الملفات». يحفظ الإيداع سجلًا محليًا، بينما الدفع إجراء مستقل.
- «حساب التطبيق يمنح صلاحية الاستضافة». هوية المؤلف ووصول التطبيق واعتماد المزوّد أمور مستقلة.
- «البطاقة تثبت الدعم في كل مكان». اقرأ شروط المستودع والوصول وقدرات المزوّد.
- «نجاح خط أنابيب يثبت صحة ملفاتي الحالية». يخص التشغيل إيداعًا بعينه، ولا يشمل تلقائيًا الملفات غير المودَعة أو SHA أحدث.
إذا حدث خطأ
إذا لم تجد الطرفية Git، انتقل إلى الدرس الثاني. تختلف هذه المشكلة عن رسالة غياب المستودع: في المثال السابق يوجد Git، لكن المجلد الحالي ليس مستودعًا.
إذا لم تجد دليل الميزات، افتح لوحة الأوامر… (Command Palette…) واكتب دليل الميزات (Feature Guide). قد لا يتوفر الدليل في نسخة أقدم من GitTree، ولا تعتمد أفكار هذا الدرس عليه.
إذا فتحت مستودعًا شخصيًا بالخطأ، توقّف قبل التعديل. لا يحذف فتح علامة تبويب أو إغلاقها المستودع، لكن عليك قراءة أي تنبيه عن محرّر غير محفوظ دون التخلّص من مسودته. لا يحتاج هذا الدرس إلى إعادة تعيين أو تخلّص من التغييرات أو استخدام لقطة استعادة.
اختبر فهمك
أجب عن كل سؤال ثم اقرأ السبب. الأسئلة المعلَّمة «مطلوب» تُحتسب لإكمال الدرس.
0 من 6 صحيحة
أجب عن الأسئلة المطلوبة إجابة صحيحة لتكمل الدرس.
جرى التحقق في هذا المتصفح.
تدرّب
دون إنشاء مستودع، صنّف تغيير سمة التطبيق، وإنشاء إيداع محلي، وتنفيذ مهمة على مُشغِّل. ثم افحص علامة التبويب الجديدة وتأكد من عدم وجود مخطط GitTree Features بعد. النتيجة المطلوبة هي صحة التصنيف وبقاء نقطة البداية دون مستودع.
تأكيد منك أنت: لا يستطيع الموقع رؤية جهازك.
لإكمال الدرس، أجب عن الأسئلة المطلوبة إجابة صحيحة وأكّد تنفيذ التمرين العملي.
الخلاصة
- يحفظ Git السجل المحلي دون اشتراط حساب استضافة.
- لحالة GitTree وحالة مستودع Git مالكان ونطاقان مختلفان.
- تحدّد قدرة المزوّد والصلاحية وهوية التشغيل ما تثبته النتيجة المتصلة.
ذات صلة
مصطلحات جديدة
Repository: مستودع؛ commit: إيداع؛ working tree: مجلد العمل؛ staging area: منطقة التجهيز؛ ref: مرجع؛ provider: مزوّد؛ command palette: لوحة الأوامر.
نص الفيديو
ترجمة التعليق الصوتي الإنجليزي للفيديو، مقطعًا بعد مقطع.
اعرض النص
- مرحبًا بك في تعلّم مع GitTree. مشروعنا صفحة صغيرة اسمها GitTree Features.
- قبل إنشائه، ميّز ثلاث أدوات تظهر أسماؤها كثيرًا في الحديث نفسه.
- يحفظ Git السجل، ويوفّر GitTree مساحة العمل، ويضيف المزوّد الخدمات المتصلة.
- تخيّل Maya تعدّل عنوانًا. ملف العمل هو النسخة الموجودة حاليًا على القرص.
- يستطيع Git حفظ لقطة مختارة كإيداع يرتبط بالسجل السابق.
- لا يتطلب هذا الإيداع المحلي حساب GitHub أو GitLab أو GitTree.
- ولا يعني حفظ كل ملف ظاهر، أو رفع أي شيء إلى مضيف.
- سنفحص المحتوى المختار لاحقًا، ونتعامل مع الدفع كعملية مستقلة.
- يعرض GitTree السجل والإجراءات مستخدمًا Git المثبّت على جهازك.
- للتطبيق أيضًا تفضيلات ومساحات عمل، وهي مختلفة عن الفروع والإيداعات.
- يسجّل تراجع التطبيق عمليات مدعومة، ولا يسجّل كل تغيير في الطرفية تلقائيًا.
- يحتفظ المضيف بمستودع بعيد، وقد يوفّر المراجعة والمشكلات والفحوص.
- في مثالنا الأساسي، يعمل GitLab ومُشغِّله محليًا على جهاز المؤلف.
- ينفّذ المُشغِّل المهمة. يعرض GitTree نتائج مدعومة، ولا يصبح هو المُشغِّل.
- وجود ميزة في الخدمة لا يعني تنفيذها تلقائيًا في محوّل GitTree.
- راجع المزوّد والمشروع والصلاحية والإيداع المختار عند قراءة نتيجة متصلة.
- افتح الطرفية ونفّذ git --version. لا يغيّر الاستعلام أي مستودع.
- هنا تظهر Git 2.52.0. قد تختلف النسخة المثبّتة لديك.
- تثبت النتيجة أن الطرفية وجدت Git، ولا تثبت اتصالًا بمزوّد.
- في مجلد ليس مستودعًا، نفّذ git status --short.
- يقول Git إن المجلد ليس مستودعًا. هذا مثال الفشل المقصود.
- غياب سياق المستودع يختلف عن غياب Git. اقرأ الرسالة الفعلية أولًا.
- لا تُعِد التعيين ولا تنظّف أو تُنشئ مستودعًا عشوائيًا لإخفاء الرسالة.
- يعرض فهرس الأوامر أدوات وواجهات أصلية، وليس قائمة أزرار التطبيق.
- افتح علامة تبويب جديدة في GitTree، دون إنشاء مستودع الدورة.
- افتح لوحة الأوامر، وابحث عن دليل الميزات، ثم اختر الأمر بهذا الاسم.
- الاختصار الافتراضي Alt+H، أو Option+H على macOS، وقد يُعدَّل.
- اختر الميزات وابحث عن CI/CD. اقرأ البطاقة ومتطلبها.
- دون مستودع مفتوح، تطلب هذه الميزة فتح مستودع قبل استخدامها.
- اختر التكاملات. تطلب الرسالة مستودعًا قبل عرض قدرات مزوّده.
- قراءة المساعدة لم تُنشئ مستودعًا بعيدًا أو تربط حسابًا أو تشغّل مهمة.
- اضغط Escape. قد يحفظ الدليل نسخته المشاهدة كتفضيل للتطبيق.
- لا يُنشئ هذا التفضيل إيداعًا. ما زال مخطط GitTree Features غائبًا.
- العمل المحلي مجاني. تحتاج نور والتكاملات والمسودات إلى وصول مناسب.
- وصول التطبيق واعتماد المزوّد وهوية الإيداع مستقلة؛ لا يستبدل أحدها الآخر.
- تخص المهمة الناجحة إيداعًا بعينه. نجاح SHA أقدم لا يكفي.
- صنّف تغيير السمة والإيداع المحلي وتنفيذ مهمة على المُشغِّل.
- تأكد أن فحص البداية لم يُنشئ المشروع. لا ندّعي رفع أي شيء.
- يحفظ Git السجل، ويدير GitTree مساحة عمله، ويقدّم المزوّد الخدمات.
- افحص التثبيت والهوية تاليًا. يبدأ إنشاء المستودع داخل التطبيق في L004.