在 GitHub 上创建仓库
将代码仓库克隆到开发机
ClickHouse/ 的目录,其中包含源代码、测试和其他文件。
你可以在 URL 后指定一个自定义检出目录,但务必确保该路径不包含空格,否则后续构建可能会失败。
ClickHouse 的 Git 仓库使用子模块来拉取第三方库。
默认情况下不会检出子模块。
你可以选择以下任一方式
-
运行带有
--recurse-submodules选项的git clone, -
如果运行
git clone时未使用--recurse-submodules,请运行git submodule update --init --jobs <N>以显式检出所有子模块。 (例如,可将<N>设为12以并行下载。) -
如果运行
git clone时未使用--recurse-submodules,并且你希望使用 shallow 子模块检出以省略子模块中的历史记录、节省一些空间,请运行./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 - 它使用的是 CLion 中指定的 CMake 版本,而不是你本地安装的版本
- CLion 会使用
make而不是ninja来运行构建任务 (这是正常行为)
创建拉取请求
.deb 包的直接链接,甚至可以将其部署到生产服务器上 (如果你不介意的话) 。
编写文档
docs/ 中运行 mint dev) 。
向 ClickHouse 添加新函数时,可以参考下面的模板:
使用测试数据
clickhouse-client 中: