craft your forge, build your project, grow your community freely
1# GitRoot
2 3Welcome in your new git forge. This repository contains all configurations for your forge.
4 5## Create your first repo
6 7Now all is configured you can create your first repo.
8 9```sh
10echo"firstRepo:\n defaultbranch: main\n" >> .gitroot/repositories.yml
11```1213If you are in "owner" section of `.gitroot/users.yml`:
1415```sh
16git commit -am "add repo"17git push origin main
18```1920Else:
2122```sh
23git checkout -b addRepo
24git commit -am "add repo"25git push origin addRepo
26```2728And request a owner to merge your branch.
2930> All done! You can clone your repo
3132```sh
33git clone ssh://127.0.0.1:4545/firstRepo
34```3536Don't forget to configure this new repository. Restart commands from [above](#first-configure-your-repo)
3738## Add collaborators
3940In any GitRoot repository you will find a `.gitroot/users.yml` file. To add a user append its informations in the right group.
4142```yml
43owner:
44branches:
45 - name: main
46users:
47 - pseudo: GitRoot
48avatar: ""49emails:
50 - GitRoot@yourinstance.com
51ssh:
52 - SSH
53 - pseudo: You
54avatar: ""55emails:
56 - you@yourinstance.com
57ssh:
58 - SSH
59group:
60branches:
61 - name: main
62users:
63 - pseudo: PSEUDO
64avatar: ""65emails:
66 - EMAIL
67ssh:
68 - SSH
69```7071`group` is the group name where user will reside. You can choose any name you want, gitroot only use the owner group (so don't modify/delete it). Group is a convenience way to group users.
7273Each group manage `branches`. Every branch name in this group means only user of this group can write to them. All others branches will be "open" and anyone can write to them.
7475Each group have `users`. A user is at least a ssh key. All others informations are here for convience and not used by gitroot (today).
7677## Active plugins
7879In any GitRoot repository you will find a `.gitroot/plugins.yml` file. It contain all plugins available in your instance. To active one, change the boolean `active` to `true`, commit and push.
8081## Need more?
8283Read the official [https://gitroot.dev/doc/](https://gitroot.dev/doc/).