All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
1 vcsh - Version Control System for $HOME - multiple Git repositories in $HOME
6 1. [30 Second How-to](#30-second-how-to)
7 2. [Introduction](#introduction)
13 While it may appear that there's an overwhelming amount of documentation and
14 while the explanation of the concepts behind `vcsh` needs to touch a few gory
15 details of `git` internals, getting started with `vcsh` is extremely simple.
17 Let's say you want to version control your `vim` configuration:
20 vcsh vim add ~/.vimrc ~/.vim
21 vcsh vim commit -m 'Initial commit of my Vim configuration'
22 # optionally push your files to a remote
23 vcsh vim remote add origin <remote>
24 vcsh vim push -u origin master
25 # from now on you can push additional commits like this
28 If all that looks a _lot_ like standard `git`, that's no coincidence; it's
34 [vcsh][vcsh] allows you to maintain several Git repositories in one single
35 directory. They all maintain their working trees without clobbering each other
36 or interfering otherwise. By default, all Git repositories maintained via
37 `vcsh` store the actual files in `$HOME` but you can override this setting if
40 All this means that you can have one repository per application or application
41 family, i.e. `zsh`, `vim`, `ssh`, etc. This, in turn, allows you to clone
42 custom sets of configurations onto different machines or even for different
43 users; picking and mixing which configurations you want to use where.
44 For example, you may not need to have your `mplayer` configuration on a server
45 or available to root and you may want to maintain different configuration for
46 `ssh` on your personal and your work machines.
48 A lot of modern UNIX-based systems offer packages for `vcsh`. In case yours
49 does not read [`INSTALL.md`](doc/INSTALL.md) for install instructions or
50 [PACKAGING.md](doc/PACKAGING.md) to create a package, yourself. If you do end
51 up packaging `vcsh` please let us know so we can give you your own packaging
52 branch in the upstream repository.
56 Some people found it useful to look at slides and videos explaining how `vcsh`
57 works instead of working through the docs.
58 All slides, videos, and further information can be found
59 [on the author's talk page][talks].
64 There are several ways to get in touch with the author and a small but committed
65 community around the general idea of version controlling your (digital) life.
67 * IRC: #vcs-home on irc.oftc.net
69 * Mailing list: [http://lists.madduck.net/listinfo/vcs-home][vcs-home-list]
71 * Pull requests or issues on [https://github.com/RichiH/vcsh][vcsh]
74 [myrepos]: http://myrepos.branchable.com/
75 [talks]: http://richardhartmann.de/talks/
76 [vcsh]: https://github.com/RichiH/vcsh
77 [vcs-home-list]: http://lists.madduck.net/listinfo/vcs-home