]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/howto/use-git-daemon.txt
Merge branch 'jc/bisect-doc' into maint-2.43
[thirdparty/git.git] / Documentation / howto / use-git-daemon.txt
CommitLineData
1797e5c5
TA
1Content-type: text/asciidoc
2
e29b96d5 3How to use git-daemon
1797e5c5 4=====================
e29b96d5
JS
5
6Git can be run in inetd mode and in stand alone mode. But all you want is
89363522 7to let a coworker pull from you, and therefore need to set up a Git server
e29b96d5
JS
8real quick, right?
9
10Note that git-daemon is not really chatty at the moment, especially when
11things do not go according to plan (e.g. a socket could not be bound).
12
13Another word of warning: if you run
14
15 $ git ls-remote git://127.0.0.1/rule-the-world.git
16
17and you see a message like
18
19 fatal: The remote end hung up unexpectedly
20
21it only means that _something_ went wrong. To find out _what_ went wrong,
22you have to ask the server. (Git refuses to be more precise for your
23security only. Take off your shoes now. You have any coins in your pockets?
24Sorry, not allowed -- who knows what you planned to do with them?)
25
26With these two caveats, let's see an example:
27
28 $ git daemon --reuseaddr --verbose --base-path=/home/gitte/git \
29 --export-all -- /home/gitte/git/rule-the-world.git
30
31(Of course, unless your user name is `gitte` _and_ your repository is in
32~/rule-the-world.git, you have to adjust the paths. If your repository is
33not bare, be aware that you have to type the path to the .git directory!)
34
35This invocation tries to reuse the address if it is already taken
36(this can save you some debugging, because otherwise killing and restarting
37git-daemon could just silently fail to bind to a socket).
38
39Also, it is (relatively) verbose when somebody actually connects to it.
40It also sets the base path, which means that all the projects which can be
41accessed using this daemon have to reside in or under that path.
42
43The option `--export-all` just means that you _don't_ have to create a
44file named `git-daemon-export-ok` in each exported repository. (Otherwise,
45git-daemon would complain loudly, and refuse to cooperate.)
46
47Last of all, the repository which should be exported is specified. It is
48a good practice to put the paths after a "--" separator.
49
50Now, test your daemon with
51
52 $ git ls-remote git://127.0.0.1/rule-the-world.git
53
54If this does not work, find out why, and submit a patch to this document.