There is an increasing amount of web projects licensed under the AGPLv3 which requires you to convey the source code to your users, this makes you to have to act smart to always convey the latest source code, here is how I do it.
For example we will try to convey the Pleroma source code to our users, here is how are we going to do it.
First in our user on our computer we clone the repository:
git clone https://git.pleroma.social/pleroma/pleroma Pleroma cd Pleroma
Then we checkout to the branch we are going to use, in this case stable:
git checkout stable
Then we create an empty repo on the server in this case I am going to use my gitea the url will be: ssh://firstname.lastname@example.org:22099/sergiotarxz/p.git
And we push the changes to this repository:
git remote add downstream ssh://email@example.com:22099/sergiotarxz/p.git git push -u downstream HEAD
Now we can change things and commit them to this repository, in the server while building from source we will do:
git clone ssh://firstname.lastname@example.org:22099/sergiotarxz/p.git Pleroma cd Pleroma