GitHub でリポジトリを作成する
開発マシンにリポジトリをクローンする
ClickHouse/ ディレクトリが作成されます。
URL の後ろにチェックアウト先として任意のディレクトリを指定できますが、このパスには空白文字を含めないことが重要です。空白文字が含まれていると、後でビルドが失敗する可能性があります。
ClickHouse の Git リポジトリでは、3rd party libraries を取り込むためにサブモジュールを使用しています。
サブモジュールはデフォルトではチェックアウトされません。
次のいずれかを実行できます
-
git cloneを--recurse-submodulesオプション付きで実行する -
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 にあります。
SSH キーを利用するには、GitHub の設定でアップロードする必要があります。
HTTPS 経由でリポジトリをクローンすることもできます。
git remote コマンドでリポジトリのリモートアドレスを置き換えることができます。
元の ClickHouse リポジトリのアドレスをローカルリポジトリに追加して、そこから更新をプルすることもできます:
git pull upstream master を実行して、ClickHouse のメインリポジトリから更新を取り込めるようになります。
コードを書く
IDE
- CLion は自動的に
buildパスを作成し、ビルドタイプにdebugを選択します - 使用される CMake は、ユーザーがインストールしたものではなく、CLion で指定されたバージョンです
- CLion は
ninjaではなくmakeを使ってビルドタスクを実行します (これは通常の動作です)
プルリクエストを作成する
ドキュメントの作成
docs/ から mint dev) に従ってください。
ClickHouse に新しい関数を追加する場合は、以下のテンプレートを参考にしてください。