From: Shawn O. Pearce Date: Mon, 19 Feb 2007 08:10:10 GMT Subject: Re: Publishing Question: First time Pushing to nonexsiting directory Message-ID: <20070219081010.GC30030@spearce.org> In-Reply-To: <20070219073526.GA26531@cip.informatik.uni-erlangen.de> Thomas Glanzmann wrote: > I thought that there is a command available which I can use to push a > repository to a remote nonexisting location (that gets created on the > fly) like in the following scenario: > > - Create a git project on my laptop > - Check in a few files > - Publish the git repository to > > (thinkpad) [~/work/astro-tg] git push 131.188.30.59:/home/cip/adm/sithglan/work/repositories/private/astro/ > fatal: '/home/cip/adm/sithglan/work/repositories/private/astro': unable to chdir or not a git archive > fatal: The remote end hung up unexpectedly > > I thought that I read a comment from Linus(?) long time ago to how to obtain > that. But I am unable to find the e-mail in my archives. If there is no > standard way, how do you do it? Just rsync the files and change the > 'origin'? SSH into the remote system that you want to push to, then run init-db there: $ ssh 131.188.30.59 git --git-dir=/home/cip/adm/sithglan/work/repositories/private/astro.git init-db Configure that as a remote, e.g. origin: $ git remote add origin 131.188.30.59:/home/cip/adm/sithglan/work/repositories/private/astro.git Now push to there: $ git push origin master:master And maybe fetch back to create the tracking branches: $ git fetch Note that in my examples above I added ".git" to the end of the repository path, as this is rather typical for a 'bare repository' (that is, a repository without a working directory attached). You usually don't want to push into a repository with a working directory, but it is supported and a lot of folks do it. I also assumed Git 1.5.0 on your thinkpad end, as git-remote was recently added in that version. Handy tool. :) -- Shawn.