agigit relay add --fetch $relayPK #PublicKey
agigit relay add --push $relayPK
agigit relay add $relayPK
agigit relay remove --fetch $relayPK
agigit relay remove --push $relayPK
agigit relay remove $relayPK
agigit fetch
agigit log
agigit pull
agigit pull $commitHash
agigit checkout $commitHash
agigit checkout master
agigit commit -m "commit message"
agigit push
agigit merge $commitHashA $commitHashB
agigit rebase
agigit rebase $nonHeadCommitHash
agigit log

<aside> 💡 Nobody can commit on master. The system periodically selects new (the best) commit to become the master

</aside>

Relay Example as Bob (ignore the iOS/Android/Web…)

agigit relay add --fetch $relayPK: Subscribe to a new relay and grant permission to fetch data from this relay. agigit relay add --push $relayPK: Subscribe to a new relay and grant permission to push data to this relay. agigit relay add $relayPK: Subscribe to a new relay and grant permission to both fetch and push data from/to this relay. agigit relay remove --fetch $relayPK: Remove the "fetch" permission from a subscribed relay, meaning your agigit client will no longer fetch data from this relay. agigit relay remove --push $relayPK: Remove the "push" permission from a subscribed relay, meaning your agigit client will no longer push data to this relay. agigit relay remove $relayPK: This command fully unsubscribes from a relay, no longer interacting with it in any way.

init setup

init setup


agigit relay add --push relay1

agigit relay add --push relay1


agigit relay add --fetch relay1

agigit relay add --fetch relay1


agigit relay add relay2

agigit relay add relay2


agigit relay remove --fetch relay1

agigit relay remove --fetch relay1


agigit relay remove relay2

agigit relay remove relay2