2015-01-09 2 views
0

Я создал готический репозиторий git с доступом http на моем сервере. На клиенте я использую:ошибка git pull Не удалось найти удаленный мастер ref

git init 
git clone <URL> 
touch 2.txt 
git commit 
git remote add origin <URL> 
git push origin master 

Все эти команды работают нормально. Тогда я хочу видеть, есть ли мой репозиторий "2.txt" я из другой машины я использую:

git init 
git clone <URL> 
git remote add origin <URL> 
git pull origin master 

и я получил:

Could't find remote ref master 
Unexpected end of command stream 

Я попробовал другой вариант:

git pull 

и я получил:

Your configuration specifies to merge with the ref 'master' 
from the remote, but no such ref was fetched 

Я думаю, проблема в том, что у меня нет ветвей на сервере. Я попытался создать мастер ветки на сервере, но ничего (mb coz, который является открытым репозиторием) Я использовал это руководство для создания http-доступа к репозиторию: https://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.txt Я выполнил шаги 1-2, а затем начал делать это без руководства. Я думаю, что я что-то пропустил, и мой первоначальный толчок неправильный, потому что он не создает ветку, но я не знаю, что с ним делать. Я новичок в git, и я действительно надеюсь, что вы мне поможете.

+2

Вам не нужно запускать 'git init' перед' git clone'. Фактически это почти наверняка вызовет у вас неприятности, потому что вы получите «вложенные репозитории». – Jubobs

+0

Я совершенно уверен, что ваш «начальный хозяин гит-гейта» терпит неудачу. –

+0

'git clone ' достаточно. Он будет инициализирован, добавит удаленный и удаленный пульт. –

ответ

0

От 2 машины вы просто запустите следующую команду,

git clone "your git-URL"

Вы будете иметь GIT репозиторий с 2.txt файла.

+0

Нет. Согласно первому блоку команд OP, '2.txt' никогда не был поставлен, и поэтому никогда не попадал в какой-либо фиксатор. – Jubobs

0

Вы правы, ваш пульт дистанционного управления не имеет филиал «мастер»

Когда вы начали работать над новым репо убедитесь, что у вас есть мастер ветвь. Вы можете сделать это с помощью

git checkout -b master 

Сделайте это в своем существующем репо и нажмите еще раз. Затем он должен клонировать, как ожидалось.

+0

Нет необходимости в этой команде. В новом репо, ветвь 'master' будет создана с первым фиксатором. – Jubobs

+0

Но это случилось со мной не один раз ... – clash

+0

Вы, должно быть, делали что-то неправильно. Вам никогда не нужно создавать ветвь 'master' явно после инициализации репо; он автоматически создается, когда создается первая фиксация. Попробуйте сами: 'mkdir testgit || cd testgit', 'git init',' touch test.txt', 'git add test.txt',' git commit -m "initial commit", 'git branch'. – Jubobs

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