### Add a submodule
```
git submodule add https://github.com/janjarfalk/canvasrunner.git components/canvasrunner/
```

### Update all submodules
```
git submodule foreach git pull origin master
cd ..
git commit . -m "Updated submodules"
git push
```

### Remove a submodule
```
git submodule deinit components/canvasrunner    
git rm components/canvasrunner
```

### Edit a submodule
```
cd components/canvasrunner
<edit>
git commit . -m "Edited"
git push
cd ...
git commit . -m "bumped canvasrunner"
git push
```

### Clone repositories with submodules
```
git clone --recursive
```

### Pull submodule if you forgot to clone --recursive
```
cd components/canvasrunner
git submodule update --init
```