أنشئ مستودعًا على GitHub
استنسخ المستودع على جهاز التطوير لديك
ClickHouse/ يحتوي على الشفرة المصدرية والاختبارات وملفات أخرى.
يمكنك تحديد مجلد مخصص لعملية checkout بعد عنوان URL، ولكن من المهم ألا يحتوي هذا المسار على مسافات بيضاء، لأن ذلك قد يتسبب لاحقًا في تعطّل عملية البناء.
يستخدم مستودع Git الخاص بـ ClickHouse الوحدات الفرعية لجلب مكتبات الطرف الثالث.
ولا تُسحَب الوحدات الفرعية افتراضيًا.
يمكنك إما
-
تشغيل
git cloneمع الخيار--recurse-submodules، -
إذا شغّلت
git cloneبدون--recurse-submodules، فشغّلgit submodule update --init --jobs <N>لسحب جميع الوحدات الفرعية صراحةً. (يمكن ضبط<N>مثلًا على12لتنفيذ التنزيل بالتوازي.) -
إذا شغّلت
git cloneبدون--recurse-submodulesوكنت ترغب في استخدام checkout سطحي shallow للوحدات الفرعية لتجاهل السجل فيها وتوفير بعض المساحة، فشغّل./contrib/update-submodules.sh. يُستخدم هذا البديل في CI، لكنه غير موصى به للتطوير المحلي لأنه يجعل العمل مع الوحدات الفرعية أقل سهولة وأبطأ.
git submodule status.
إذا ظهرت لك رسالة الخطأ التالية
~/.ssh.
ولكي يقبل GitHub مفاتيح SSH، يجب رفعها في إعداداته.
يمكنك أيضًا استنساخ المستودع عبر HTTPS:
git remote.
يمكنك أيضًا إضافة عنوان مستودع ClickHouse الأصلي إلى مستودعك المحلي لسحب التحديثات منه:
git pull upstream master.
كتابة الشيفرة
- معمارية ClickHouse.
- دليل أسلوب كتابة الشيفرة.
- مكتبات الطرف الثالث
- كتابة الاختبارات
- المشكلات المفتوحة
بيئة التطوير المتكاملة
- ينشئ CLion تلقائيًا مسار
buildويحدّدdebugتلقائيًا كنوع البناء - يستخدم إصدارًا من CMake محددًا داخل CLion، وليس الإصدار الذي ثبّتَّه أنت
- سيستخدم CLion الأمر
makeلتشغيل مهام البناء بدلًا منninja(وهذا سلوك طبيعي)
أنشئ طلب سحب
كتابة الوثائق
mint dev من docs/).
عند إضافة دالة جديدة إلى ClickHouse، يمكنك استخدام القالب أدناه كمرجع: