79 lines
2.1 KiB
Markdown
79 lines
2.1 KiB
Markdown
```
|
|
$ git checkout -b alice/1
|
|
$ git commit -m "Alice's commit" --allow-empty -s
|
|
[alice/1 87fa120] Alice's commit
|
|
```
|
|
|
|
``` (stderr) RAD_SOCKET=/dev/null
|
|
$ git push rad HEAD:alice/1
|
|
To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
|
|
* [new branch] HEAD -> alice/1
|
|
```
|
|
|
|
Make sure we can't force-push without `+`:
|
|
|
|
``` (stderr)
|
|
$ git commit --amend -m "Alice's amended commit" --allow-empty -s
|
|
```
|
|
``` (stderr) (fail)
|
|
$ git push rad HEAD:alice/1
|
|
To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
|
|
! [rejected] HEAD -> alice/1 (non-fast-forward)
|
|
error: failed to push some refs to 'rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi'
|
|
hint: [..]
|
|
hint: [..]
|
|
hint: [..]
|
|
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
|
|
```
|
|
|
|
And that we can with `+`:
|
|
|
|
``` (stderr)
|
|
$ git push -o no-sync rad +HEAD:alice/1
|
|
To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
|
|
+ 87fa120...145e1e6 HEAD -> alice/1 (forced update)
|
|
```
|
|
|
|
Notice that we used the `-o no-sync` push option to disable syncing after the push.
|
|
|
|
```
|
|
$ git branch -r -vv
|
|
rad/alice/1 145e1e6 Alice's amended commit
|
|
rad/master f2de534 Second commit
|
|
```
|
|
|
|
List our namespaced refs:
|
|
|
|
```
|
|
$ git ls-remote rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi 'refs/heads/*'
|
|
145e1e69bef3ad93d14946ea212249c2fa9b9828 refs/heads/alice/1
|
|
f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/heads/master
|
|
```
|
|
|
|
List the canonical refs:
|
|
|
|
```
|
|
$ git ls-remote rad
|
|
f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/heads/master
|
|
```
|
|
|
|
```
|
|
$ rad sync --announce
|
|
✓ Synced with 1 node(s)
|
|
```
|
|
|
|
Note that it is forbidden to delete the default/canonical branch:
|
|
|
|
``` (fail) (stderr)
|
|
$ git push rad :master
|
|
error: refusing to delete default branch ref 'refs/heads/master'
|
|
error: failed to push some refs to 'rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi'
|
|
```
|
|
|
|
If you pass an unsupported push option, you get an error:
|
|
|
|
``` (stderr) (fail)
|
|
$ git push -o alien rad HEAD:alice/2
|
|
error: unknown push option "alien"
|
|
```
|