Do everyone have to add all the others manually with git remote add ....
No, because it is done for you when you are cloning a remote repo.
The recommended workflow is to clone one "blessed" repo (similar to a centralized workflow), and pull/push from/to it.
A git status
will indicate at all time if you have local commits to push.
Nothing prevents you t add the repo url of a colleague, in order to exchange directly with his/her repo, but the easiest workflow remains to keep one remote "origin" repo as the blessed one.
See more at "Distributed Git - Distributed Workflows", which illustrates more complex workflows:
Because Git allows you to have multiple remote repositories, it’s possible to have a workflow where each developer has write access to their own public repository and read access to everyone else’s.
This scenario often includes a canonical repository that represents the "official" project.
To contribute to that project, you create your own public clone of the project and push your changes to it.Then, you can send a request to the maintainer of the main project to pull in your changes.
They can add your repository as a remote, test your changes locally, merge them into their branch, and push back to their repository