Создайте репозиторий на GitHub
Клонируйте репозиторий на локальную машину
ClickHouse/, содержащий исходный код, тесты и другие файлы.
После URL можно указать собственный каталог для извлечения, но важно, чтобы этот путь не содержал пробелов, так как это может впоследствии нарушить сборку.
Git-репозиторий ClickHouse использует подмодули для подключения сторонних библиотек.
По умолчанию подмодули не извлекаются.
Вы можете либо
-
запустить
git cloneс параметром--recurse-submodules, -
если
git cloneбыл запущен без--recurse-submodules, выполнитеgit submodule update --init --jobs <N>, чтобы явно извлечь все подмодули. (<N>можно, например, задать равным12, чтобы распараллелить загрузку.) -
если
git cloneбыл запущен без--recurse-submodulesи вы хотите использовать shallow checkout подмодулей, чтобы не загружать их историю и сэкономить место, выполните./contrib/update-submodules.sh. Этот вариант используется в CI, но не рекомендуется для локальной разработки, так как делает работу с подмодулями менее удобной и более медленной.
git submodule status.
Если вы получаете следующее сообщение об ошибке
~/.ssh.
Чтобы GitHub принимал SSH-ключи, их нужно загрузить в настройках GitHub.
Вы также можете клонировать репозиторий по HTTPS:
git remote.
Вы также можете добавить адрес исходного репозитория ClickHouse в свой локальный репозиторий, чтобы получать обновления оттуда:
git pull upstream master.
Написание кода
- Архитектура ClickHouse.
- Руководство по стилю кода.
- Сторонние библиотеки
- Написание тестов
- Открытые задачи
IDE
- CLion самостоятельно создаёт путь
buildи автоматически выбираетdebugв качестве типа сборки - Он использует версию CMake, заданную в CLion, а не ту, которую вы установили
- CLion использует
makeдля запуска задач сборки вместоninja(это нормальное поведение)
Создайте pull request
Документируйте изменения
mint dev из docs/).
При добавлении новой функции в ClickHouse вы можете использовать приведённый ниже шаблон как образец: