مقدمة

أنت على وشك قضاء عدة ساعات من عمرك في القراءة عن جِت (Git)، فلنأخذ منها دقيقة لنشرح ما سنقدمه لك؛ هذا ملخص سريع لأبواب الك‍تاب العشرة وملاحقه الثلاثة.

في الباب الأول، نتناول أنظمة إدارة النسخ وأسس جت — لا شيء تقني، وإنما نعرف ما هو جت ولماذا أتى في أرض ممتلئة بأنظمة إدارة النسخ، وما يجعله مختلفا، ولماذا يستخدمه الكثيرون. بعدئذٍ نشرح كيفية تنزيل جت وإعداده للمرة الأولى إن لم يكن لديك بالفعل على نظامك.

في الباب الثاني، نمر على مبادئ استخدام جت: كيف تستخدمه في ٨٠٪ من الحالات التي ستقابلها معظم الوقت. بعد قراءة هذا الفصل، ستكون قادرا على استنساخ مستودع، ورؤية ما قد حدث في تاريخ المشروع، وتعديل ملفات، والمساهمة بتعديلات. لو اشتعل الك‍تاب ذاتيًّا وقتئذٍ، فسيكون جت طيِّعًا في متناولك وتنتفع به، إلى أن تحصل على نسخة أخرى من الك‍تاب.

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

يتناول الباب الرابع جت على الخادوم. وهو لمن يريدون إعداد جت داخل منظمتهم أو على خادومهم الخاص للتعاون. ونستكشف أيضا الخيارات المستضافة إذا كنت تفضّل أن يديره لك شخصٌ آخر.

يشرح الباب الخامس بالتفصيل الممل أساليب سير العمل الموزَّع المختلفة وكيفية تحقيقها مع جت. عندما تفرغ من هذا الباب، ستكون قادرا على العمل ببراعة مع العديد من المستودعات البعيدة، واستخدام جت عبر البريد الإلكتروني، واللعب برشاقة بالكثير من الفروع البعيدة والرُقَع المساهَم بها.

يتناول الباب السادس بعمق خدمة استضافة جت‌هَب (GitHub) وأدواتها. فنورد إنشاء حساب وإدارته، وإنشاء مستودعات جت واستعمالها، وأساليب سير العمل الشائعة للمساهمة في مشروعات الآخرين وقَبول المساهمات في مشروعاتك، وواجهة جت‌هب البرمجية، وبحرًا من النصائح الصغيرة لجعل حياتك أسهل عموما.

الباب السابع عن أوامر جت المتقدمة. ستتعلم هنا عن أمورٍ مثل إتقان أمر الإرجاع المرعب (reset)، واستعمال طريقة البحث الثنائي لتحديد العلل، وتحرير التاريخ، واختيار المراجعات بالتفصيل، والمزيد المزيد. يسعى هذا الباب لإتمام معرفتك بـجت حتى تكون أستاذًا بحق.

يتناول الباب الثامن تهيئة بيئة جت الخاصة بك. هذا يشمل إعداد بُريمِجات الخطاطيف (hook scripts) لفرض أو تشجيع السياسات المفضلة واستعمال إعدادات تهيئة البيئة لكي تعمل بالطريقة التي تريدها، وكذلك بناء مجموعتك الخاصة من البُريمِجات (scripts) لفرض سياسة إيداع مخصصة.

يناقش الباب التاسع جت والأنظمة الأخرى لإدارة النسخ. هذا يشمل استخدام جت داخل عالم Subversion‏ (SVN)، وتحويل المشروعات من الأنظمة الأخرى إلى جت. فلا تزال منظمات كثيرة تستخدم SVN ولا تنوي التغيير، لكنك في هذه المرحلة ستكون قد تعلمت قوة جت الخيالية — فيريك هذا الفصل كيف تدبر أمورك إن كنت ما زلت مضطرا إلى استخدام خادوم SVN. نذكر أيضا كيفية استيراد مشروعات من الأنظمة الأخرى، إذا أقنعت الجميع بالغطس في جت.

يغوص الباب العاشر في أعماق جت المظلمة لكن الجميلة. لأنك عندئذٍ تعلم كل شيء عن جت وتستطيع استخدامه ببراعة ورشاقة، يمكننا الانتقال إلى مناقشة كيف يخزن جت كائناته، وما هو نموذج الكائنات، وما تفاصيل الملفات المُعلبة (packfiles) وموافيق (بروتوكولات) الخواديم، والمزيد. سنشير خلال هذا الك‍تاب إلى فصول هذا الباب، إن رغبت في الغوص عميقا في تلك المرحلة، لكن إذا كنت مثلنا وتريد الغوص في التفاصيل التقنية، فقد تحب قراءة الباب العاشر أولا. نترك هذا الخيار لك.

في الملحق الأول، نرى عددا من أمثلة استخدام جت في بيئات معينة مختلفة. نذكر عددا من الواجهات الرسومية وبيئات التطوير المختلفة التي ربما تريد استخدام جت فيها وما المتاح لك. إذا كنت مهتما بنظرة عامة على استخدام جت في الطرفية أو بيئة التطوير أو محرر النصوص، ألقِ نظرة هنا.

في الملحق الثاني، نستكشف برمجة جت وتوسيعه عبر أدوات مثل libgit2 و JGit. إذا كنت مهتما بك‍تابة أدوات مخصصة سريعة ومعقدة وتحتاج وصولا إلى المستويات الدنيا من جت، هنا مكانك لمعرفة كيف يبدو المنظر العام لهذه المنطقة.

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

هيا بنا نبدأ.