Clone this wiki locally
Gitmaker is a simple script that creates a Git repository in a remote SSH server and clones it in the local machine.
This is only possible because:
- Git is awesome. No, seriously, it is. While you can do really complicated forks and merges with it, the way it works over the network is incredibly simple and decentralized.
- You don’t have to install any daemons or special modules to have your remote Git repository (you can if you want to, but it’s not mandatory); the only thing you need is Git itself.
To use Gitmaker you need:
- Git installed on both your local machine and the SSH server.
- Key-based login configured for your SSH user (optional but highly recommended, unless you like to type your password a lot).
Once you have this, go to your favorite folder where you keep your precious
lolcat pictures programming projects and type:
gitmaker firstname.lastname@example.org myrepo
This will create a remote
myrepo repository at
example.com with a local clone on the current directory. Yep, it’s ready. Commit and be happy.
But dude, I don’t have Git on my server!
Well, that sucks. Even Dreamhost (yeah, can you believe it? EVEN DREAMHOST!!!) has Git available for all users with SSH access. Anyway, it shouldn’t be too complicated to fix this.
If you have root access, just
apt-get install it (or
yum it, or
emerge it — whatever you like). If you don’t, I believe it shouldn’t be too complicated to compile it from source with
But I run Windows!
Seriously though, this will probably work on Cygwin. If it doesn’t and you can fix it, please send me a patch! :-)
Hey, it’s on GitHub. Anyone can see, anyone can fork, anyone can modify. Just to formalize this stuff, Gitmaker is under the Artistic License 2.0 – not only to piss off Richard Stallman fans, but also because the GPL v3 is ridiculously restrictive and paranoid. So no soup for you, Stallmann. It’s probably a good thing too, since we know soup and beards don’t mix very well.
If you really want, you can follow me on Twitter. Beware: I write both in english and portuguese.