Using push.default with push.remote.push
With the specified configuration:
```
[push]
default = current
[remote "origin"]
url = git@mydomain:myrepo
fetch = +refs/heads/dev/john/*:refs/remotes/origin/*
fetch = +refs/heads/*:refs/remotes/origin/*
push = refs/heads/master:refs/heads/master
push = refs/heads/*:refs/heads/dev/john/*
```Given a currently checked out local branch named `my-feature`, how can I make this command:
git push -n origin
Behave semantically identical to this command?
git push -n origin my-feature
The current behavior seems to be working as designed, but not as desired. The first push command pushes *all* branches under `refs/heads/*`, instead of just the current branch as it normally would via `push.default` setting. It sort of feels like if a resolved, explicitly defined `push.<remote>.push` config is found *and* it includes wildcards, the `push.default` setting should still be respected.
Are there any workarounds to getting the behavior I'm looking for?
Note my ultimate goal here is to transparently map local branches to a branch with a prefix on the remote. But I do not want to explicitly work with or see those prefixes locally. Basically `dev/john/my-feature` on the remote should be `refs/heads/my-feature` locally, and `refs/remotes/origin/my-feature` for fetches. The push-without-explicit-refspec case is the only one I haven't gotten to work as desired yet.