Skip to content
Snippets Groups Projects
Commit a8f01305 authored by nimrod's avatar nimrod
Browse files

- Added post about ad-hoc serving of git repos.

parent 30ca6a50
No related branches found
No related tags found
No related merge requests found
Ad-hoc serving of git repositories
##################################
:date: 2016-08-16
:summary: Ad-hoc serving of git repositories
On some occasion you want to serve your git repo from your local copy (perhaps
your git repository is quite large and your internet connection is slow or your
build process would benefit from pulling from an intermediary without
authentication). Here are 2 ways to serve your git repository without any
configuration or software installation. Both ways serve a single repository
without authentication or encryption but readonly (no push).
Using the git protocol
----------------------
The git executable is itself a git server using the native git protocol. Inside
the root of the repository run the following command
.. code:: shell
git daemon --reuseaddr --verbose --base-path=. --export-all ./.git
And on the client you can clone by running
.. code:: shell
git clone git://servername/ reponame
Using the http protocol
-----------------------
This way serves the repo over HTTP using Python 2's SimpleHTTPServer. Run the
following in the rot of the git repo
.. code:: shell
git update-server-info
cd .git
python -m SimpleHTTPServer
And on the client clone by running
.. code:: shell
git clone http://servername:8000/ reponame
Final words
-----------
I've added both ways as git aliases in my `rcfiles repo
<https://www.shore.co.il/cgit/rcfiles/tree/.gitconfig>`_.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment