2012-04-30 2 views
20

Я пытаюсь установить git на сервер и иметь некоторые проблемы, когда я пытаюсь выполнить первый push. я успешно установил мерзавец на сервере, создал репозиторий локально и на сервере, но когда я пытаюсь сделать первый толчок, я получаю сообщение:Git "не является git-хранилищем"

stdin: is not a tty 
fatal: '/my_repo.git' does not appear to be a git repository 
fatal: The remote end hung up unexpectedly 

Я гуглом его и последовал за все, что я мог бы найти, но ничего не получалось , Что может быть неправильным?

+0

Это путь на удаленном сервере, на самом деле '/my_repo.git '? Или это в вашем домашнем каталоге или что-то в этом роде? – tpg2114

+0

Я не был уверен, поэтому я попробовал с 'my_repo.git' и' /my_repo.git' и ничего не работает – romainberger

+1

На вашем сервере перейдите в каталог, который является репозиторием, и введите 'pwd'. Вывод - это полный путь к репозиторию, убедитесь, что вы его используете. – tpg2114

ответ

49

Предполагаю, что вы используете ssh для клонирования вашего репо.

Это означает, что вам нужно полный путь репо на сервере в вашем SSH адрес:

git clone ssh://[email protected]/full/absolute/path/to/my_repo 

Примечание: если ваш «my_repo» является голое один (чтобы толкая), это было бы:

git clone ssh://[email protected]/full/absolute/path/to/my_repo.git 

stdin: is not a tty просто означает, что в .bashrc на sshuser счете, есть что-то ожидает ввода.

+0

Спасибо, что это сработало, это был действительно полный путь, который отсутствовал. 'Stdin: не является tty'error, но все же здесь, я попытаюсь его исправить. – romainberger

+2

Также возможно использовать ~ в пути, когда вы ссылаетесь на проект в своем домашнем каталоге, например. 'ssh: // name @ server/~/myproj /' – Timmos

+0

yah, это тоже работает для меня. благодарю вас от спасения меня от усечения –

6

Может быть, вы забыли запустить git --bare init на удаленную папку Это была моя проблема

Смежные вопросы