Josh does weird things when creating branches, it's worth documenting them (particularly as we tend to use jujutsu where push option specification has to be done via the git config)
···3838```
39394040When you've added this section to your ssh config, you can clone over SSH.
4141-Pushing will work as normal for SSH clones.
4141+Except for when creating branches, pushing will work as-normal for SSH clones.
42424343```bash
4444git clone ssh://git@git.freshlybakedca.ke/patisserie.git:/packetmix.git
4545# Swap out "packetmix" at the end of the URL for whatever project you want to clone
4646```
4747+4848+### Creating new branches
4949+5050+When pushing to josh, creating branches won't work on a regular git push. This
5151+is because josh doesn't know what state you want the rest of the repository to
5252+be for your branch
5353+5454+You can tell josh by providing the `base=` push option like so:
5555+5656+```bash
5757+git push origin HEAD:my-new-branch -o base=main
5858+```
5959+6060+If you want to always pick main by default you can set this in your
6161+repository-specific git config
6262+6363+```bash
6464+git config push.pushOption 'base=main'
6565+```
6666+6767+Setting this in your git config may also be useful if
6868+you're using an alternative git frontend, for example
6969+[Jujutsu](https://jj-vcs.github.io/jj/latest/), which does not provide the
7070+ability to set push-options when pushing to git remotes
7171+7272+### Signing commits
7373+7474+As josh rewrites commits, they will not be validly signed everywhere.
7575+We therefore recommend you turn off commit signing for patisserie or any
7676+subprojects which you clone down
7777+7878+For example,
7979+8080+```
8181+git config commit.gpgsign false
8282+```
8383+8484+or
8585+8686+```
8787+jj config set --repo git.sign-on-push false
8888+```