On Thu, 6 Mar 2014 14:32:05 -0800 (PST)
John Schmidt <john.schmidt4...@gmail.com> wrote:
> i created a bare rep on my remote server and i would like to push
> data to it via Sourcetree.
> I connect via SSH with private key.
> I get the following error-message: '... *does not appear to be a git
> I googled a lot finding basically always the same hint: The path to
> your repository must be wrong...
> My SSH connection-strings looks like this:
> *ssh -i /path/to/key/key.pem user@<IP>/var/www/myRep.git*
> My Repository on my remote server is in the following folder:
> The path is right.
Unfortunately, the error you're observing might be cause by a whole
number of different reasons so you'll have to debug.
The first thing to check is to verify you're really able to
successfully connect and authenticate using the user+IP+key triplet.
To check this do
$ ssh -i /path/to/key/key.pem user@<IP> git --version
If everything went OK and you've received back something like
"git version 1.X.Y.Z", skip to the next step.
If it failed, try to make out from the output generated what *exactly*
failed. A couple of things to look for:
* Your SSH key is encrypted with a passphrase, and the SSH client asks
you to enter a passphrase to unlock the key. Since this program is
being run unattended (by another program) it has no way to display
its prompt, so it dies and Git reports the failure.
Hence if that "ssh -i ..." command asks your for the passphrase, this
*is* the problem.
* Alternatively, the SSH client might be trying to ask you whether you
trust the key the SSH server is presenting.
If this is the case, then just answer yes, and this choice will be
memorized and not asked again. The next call to "ssh -i ..." won't
ask it again.
* Your user "user" has no write access to the indicated directory.
I'm not sure whether the serving process changes directory to the
location of the repository it serves but if it does, you'll also
make sure it has execute permission on that directory.
To verify this, when SSH is known to work OK, modify your command
slightly and do
$ ssh -i /path/to/key/key.pem user@<IP> \
cd /var/www/myRep.git && touch foo
(The "\" is not part of the command, it's just to wrap the long line.)
Only if that works, you're sort-of guaranteed Git operations should
* If all else fails, try using plain Git for Windows client from the
command line and trace its execution, like this:
- For the Windows console window (cmd.exe):
git push origin
- For Git bash:
git push origin
And try to make out what exactly command fails from those called by Git.
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/d/optout.