ما هو Git ولماذا تحتاجه¶
Git أداة version control مجانية ومفتوحة المصدر تعمل على جهازك، تحفظ «لقطة» من مشروعك كلما طلبت منها ذلك، فتستطيع العودة إلى أي نسخة سابقة ومعرفة من غيّر كل سطر ومتى ولماذا. أما ليڤانت غيت (LevantGit) فموقع يستضيف نسخة من مشروعك على الإنترنت ليحفظها ويشاركها. هذه الصفحة تشرح الفرق بلغة بسيطة، ولا تحتاج أي خبرة سابقة.
المشكلة التي يحلّها Git¶
تخيّل أنك تكتب تقريرًا طويلًا. كل مرة تخاف أن تخرّب شيئًا تحفظ نسخة جديدة:
تقرير.docx ثم تقرير-نهائي.docx ثم تقرير-نهائي-2.docx ثم تقرير-نهائي-أكيد.docx.
بعد أسبوع لا تعرف أيّ نسخة هي الصحيحة، ولا ما الذي تغيّر بينها، ولا من غيّره.
هذه الفوضى هي ما تحلّه أدوات version control. بدل نسخ الملف يدويًا، تطلب من الأداة أن تحفظ «لقطة» من مشروعك كلما وصلت إلى نقطة مهمة، مع وصف قصير لما فعلت. تستطيع بعدها أن تعود إلى أي لقطة، وتقارن بين لقطتين، وتعرف متى ولماذا تغيّر كل سطر.
Git هو أشهر أداة version control في العالم. وهو مجاني ومفتوح المصدر، ويعمل على ويندوز وماك ولينكس، ويستخدمه ملايين المبرمجين والكتّاب والباحثين.
ثلاث كلمات تكفيك الآن¶
لن تحتاج أكثر من هذه المفاهيم في بداية الطريق، وسنكتبها بالإنجليزية كما ستراها في الأوامر وعلى الشاشة:
- repository: المجلد الذي يتتبّعه Git. هو مجلد مشروعك العادي، وبداخله مجلد مخفي اسمه
.gitيحفظ فيه Git كامل تاريخ التغييرات. كل مشروع = repository واحد، ويختصره الناس إلى repo. - commit: اللقطة التي ذكرناها. عندما تنهي خطوة من العمل تحفظ تعديلاتك في commit، ومعها رسالة قصيرة تصف ما فعلت، مثل «إضافة صفحة تسجيل الدخول». الـ repository في جوهره سلسلة من الـ commits مرتّبة بالزمن.
- branch: خط عمل مستقل داخل الـ repository. الـ branch الذي يبدأ معك — ويسمّى
default branch — اسمه غالبًا
main. تستطيع أن تنشئ branch جديدًا لتجرّب فكرة دون أن تلمسmain، ثم تدمجه لاحقًا إن نجحت الفكرة أو تحذفه إن لم تنجح.
نصيحة
لا تحاول حفظ كل المصطلحات الآن. ستفهمها بالاستخدام. وعند الحاجة ارجع إلى قاموس المصطلحات.
Git شيء، وليڤانت غيت شيء آخر¶
هنا يختلط الأمر على كثيرين، فلنفصل بينهما:
| Git | ليڤانت غيت | |
|---|---|---|
| ما هو؟ | أداة تعمل على جهازك | موقع على الإنترنت يستضيف الـ repositories الخاصة بك |
| أين يعمل؟ | في الطرفية أو داخل المحرّر | في المتصفّح على https://levantgit.com |
| من يصنعه؟ | مشروع مفتوح المصدر | ليڤانت هوست، مبنيًا على برنامج Gitea مفتوح المصدر |
| مثال مشابه | — | GitHub أو GitLab |
Git يعمل بالكامل على جهازك ولا يحتاج إنترنت. لكن عندما تريد نسخة احتياطية من الـ repository في مكان آمن، أو تريد أن تشارك الكود مع زملائك، أو تعمل من أكثر من جهاز، تحتاج مكانًا على الإنترنت يستضيفه. هذا ما يقدّمه ليڤانت غيت، مجانًا، كمبادرة مجتمعية من ليڤانت هوست، ويُقدَّم كما هو دون التزام دعم تعاقدي.
إن كنت تعرف GitHub فالفكرة واحدة: تنفّذ push للـ commits من جهازك إلى نسخة المشروع على الخادم — وهي ما يسمّيها Git الـ remote — ثم تفتح الـ issues والـ pull requests من المتصفّح.
«لكنني أعمل وحدي»¶
حتى لو لم يلمس مشروعك أحد غيرك، ستكسب من Git أشياء كثيرة:
- تراجع آمن: جرّبت تعديلًا وخرّب كل شيء؟ ارجع إلى آخر commit بأمر واحد.
- ذاكرة للمشروع: بعد شهور ستسأل «لماذا كتبت هذا السطر؟». رسائل الـ commits تجيبك.
- نسخة احتياطية حقيقية: احترق القرص الصلب؟ الـ repository موجود على ليڤانت غيت، نفّذ له clone على جهاز جديد وتابع.
- العمل من جهازين: مكتب وبيت، أو حاسوب محمول وخادم. نفّذ push من هنا و pull من هناك.
- عادة مهنية: كل فريق تقني تقريبًا يستخدم Git. تعلّمه الآن يوفّر عليك لاحقًا.
ما الذي ستتعلّمه في هذا المسار؟¶
هذا المسار مصمّم لمن لم يستخدم Git من قبل. كل صفحة فيه مهمة واحدة، وبالترتيب:
- تثبيت Git على جهازك وضبطه للمرة الأولى.
- إنشاء حساب على ليڤانت غيت.
- إعداد مفاتيح SSH لتتصل بالموقع دون كتابة كلمة المرور كل مرة.
- أول repository وتنفيذ push لأول ملفاتك إليه.
- دورة العمل اليومية: تعديل، ثم commit، ثم push، ثم pull.
- الـ branches والـ pull requests للعمل على أكثر من فكرة في الوقت نفسه.
ستحتاج فقط إلى حاسوب بأي نظام تشغيل، واتصال بالإنترنت، ونصف ساعة.
ملاحظة
واجهة ليڤانت غيت بالإنجليزية حاليًا، ولهذا نكتب أسماء الأزرار والصفحات في هذا الدليل كما تظهر على الشاشة تمامًا، مثل New Repository، حتى تجدها بعينك بلا بحث. وللسبب نفسه نكتب مصطلحات Git بالإنجليزية: هذه هي الكلمات التي ستراها في الأوامر وفي أي مرجع تعود إليه.
أسئلة شائعة¶
ما الفرق بين Git و GitHub؟¶
Git برنامج يعمل على جهازك ويحفظ تاريخ مشروعك محليًا، أما GitHub فموقع يستضيف نسخة من هذا المشروع على الإنترنت ليصل إليها زملاؤك. تستطيع استخدام Git وحده دون أي موقع، وتستطيع استضافة مشروعك على أي بديل مثل ليڤانت غيت أو GitLab.
ما الفرق بين ليڤانت غيت وجيتهاب؟¶
كلاهما موقع لاستضافة الـ repositories، والفكرة واحدة: تنفّذ push من جهازك، ثم تفتح الـ issues و pull requests في المتصفّح. ليڤانت غيت مبني على Gitea مفتوحة المصدر ويُقدَّم مجانًا كمبادرة مجتمعية من ليڤانت هوست، كما هو ودون التزام دعم. لا ندّعي تفوّقًا على GitHub في الميزات.
ما معنى commit؟¶
الـ commit لقطة محفوظة من مشروعك في لحظة معيّنة، ومعها رسالة قصيرة تصف ما غيّرته، مثل «إضافة صفحة تسجيل الدخول». تاريخ أي repository هو في جوهره سلسلة commits مرتّبة بالزمن، وتستطيع العودة إلى أي واحدة منها ومقارنتها بغيرها، ورسالتها هي ما يذكّرك لاحقًا لماذا فعلت ذلك.
هل أحتاج إنترنت لاستخدام Git؟¶
لا. Git يعمل بالكامل على جهازك: تنشئ repository، وتصنع commits، وتتنقّل بين الـ branches بلا اتصال. تحتاج الإنترنت فقط عند تنفيذ clone أو push أو pull، أي حين تتبادل التغييرات مع النسخة المستضافة على ليڤانت غيت أو غيره. ولهذا تستطيع العمل بلا شبكة ثم تنفيذ push حين تعود.
هل Git مجاني؟¶
نعم، Git برنامج حر ومفتوح المصدر، يعمل على ويندوز وماك ولينكس بلا رسوم ولا تسجيل. واستضافة مشروعك على ليڤانت غيت مجانية أيضًا، كمبادرة مجتمعية من ليڤانت هوست تُقدَّم كما هي دون التزام دعم تعاقدي أو ضمان توفّر. ولا يوجد إصدار مدفوع من Git أصلًا.
ماذا بعد؟¶
- تثبيت Git: الخطوة العملية الأولى.
- إنشاء حساب على ليڤانت غيت.
- قاموس المصطلحات إن صادفتك كلمة غير مألوفة.