Publishing with git + ssh: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
This recipe is to describe the steps for taking a local folder that's managed by git and using a remote server where you have ssh access, creating an "as-simple-as-possible" remote that can be pushed to (and eventually pulled from) and that is also mirrored on the same server. In other words, there's also a public working directory that automatically gets updated (via a githook) when the repo is pushed to. | This recipe is to describe the steps for taking a local folder that's managed by git and using a remote server where you have ssh access, creating an "as-simple-as-possible" remote that can be pushed to (and eventually pulled from) and that is also mirrored on the same server. In other words, there's also a public working directory that automatically gets updated (via a githook) when the repo is pushed to. | ||
* Convert local folder into a bare | * Convert local folder into a bare repo | ||
* scp the bare repo to a (non-public) part of your server | * scp the bare repo to a (non-public) part of your server | ||
* Create the webhook in the bare repo on the server | * Create the webhook in the bare repo on the server | ||
== Convert local folder into a bare repo == | |||
git clone --bare project project.git | |||
Converts normal folder project (that is already git-managed!), into a ''bare repository'' project.git. | |||
== scp the bare repo to your server == | |||
scp -r project.git remote:git/ |
Revision as of 15:46, 9 October 2024
This recipe is to describe the steps for taking a local folder that's managed by git and using a remote server where you have ssh access, creating an "as-simple-as-possible" remote that can be pushed to (and eventually pulled from) and that is also mirrored on the same server. In other words, there's also a public working directory that automatically gets updated (via a githook) when the repo is pushed to.
- Convert local folder into a bare repo
- scp the bare repo to a (non-public) part of your server
- Create the webhook in the bare repo on the server
Convert local folder into a bare repo
git clone --bare project project.git
Converts normal folder project (that is already git-managed!), into a bare repository project.git.
scp the bare repo to your server
scp -r project.git remote:git/