Créer un dépôt sur GitHub
Clonez le dépôt sur votre machine de développement
ClickHouse/ contenant le code source, les tests et d’autres fichiers.
Vous pouvez spécifier un répertoire de destination personnalisé après l’URL, mais il est important que ce chemin ne contienne pas d’espaces, car cela pourrait casser le build par la suite.
Le dépôt Git de ClickHouse utilise des sous-modules pour récupérer des bibliothèques tierces.
Les sous-modules ne sont pas extraits par défaut.
Vous pouvez soit
-
exécuter
git cloneavec l’option--recurse-submodules, -
si
git cloneest exécuté sans--recurse-submodules, exécutergit submodule update --init --jobs <N>pour extraire explicitement tous les sous-modules. (<N>peut par exemple être défini sur12pour paralléliser le téléchargement.) -
si
git cloneest exécuté sans--recurse-submoduleset que vous souhaitez utiliser une extraction superficielle (shallow) des sous-modules afin d’en omettre l’historique pour gagner de l’espace, exécutez./contrib/update-submodules.sh. Cette alternative est utilisée par la CI, mais elle n’est pas recommandée pour le développement local, car elle rend l’utilisation des sous-modules moins pratique et plus lente.
git submodule status.
Si vous obtenez le message d’erreur suivant
~/.ssh.
Pour que les clés SSH soient reconnues, vous devez les ajouter dans les paramètres de GitHub.
Vous pouvez également cloner le dépôt via HTTPS :
git remote.
Vous pouvez également ajouter l’adresse du dépôt ClickHouse d’origine à votre dépôt local pour récupérer les mises à jour depuis celui-ci :
git pull upstream master.
Écrire du code
- Architecture de ClickHouse.
- Guide de style du code.
- Bibliothèques tierces
- Écrire des tests
- Issues ouvertes
IDE
- CLion crée lui-même un répertoire
buildet sélectionne automatiquementdebugcomme type de build - Il utilise une version de CMake définie dans CLion, et non celle que vous avez installée
- CLion utilise
makepour exécuter les tâches de compilation au lieu deninja(c’est le comportement normal)
Créer une pull request
Rédiger la documentation
mint dev depuis docs/).
Lorsque vous ajoutez une nouvelle fonction à ClickHouse, vous pouvez utiliser le modèle ci-dessous comme référence :