2015-08-13 2 views
2

Я новичок в git, и я пытаюсь настроить git repo в VPS. Я создал git repo на сервере, а затем клонировал его на свой локальный ПК. Но когда я пытаюсь создать новую ветку в моем компьютере, и нажмите на сервер, даже если она нажата, но на сервере при попытке git checkout mybranch он показывает error: pathspec 'mybranch' did not match any file(s) known to git.Не могу нажать новую ветвь на сервер git

Вот подходы я пытался:

ПОДХОД 1

[email protected]:~/$ git clone ssh://[email protected]/home/me/gittest 
[email protected]:~/$ cd gittest 
[email protected]:~/gittest$ git branch mybranch 
[email protected]:~/gittest$ git checkout mybranch 
Switched to branch 'mybranch' 
[email protected]:~/gittest$ git >test 
[email protected]:~/gittest$ git add -A 
[email protected]:~/gittest$ git commit 
[email protected]:~/gittest$ git push origin mybranch 
Counting objects: 4, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (3/3), done. 
Writing objects: 100% (3/3), 1.07 KiB | 0 bytes/s, done. 
Total 3 (delta 0), reused 0 (delta 0) 
To ssh://[email protected]/home/me/gittest 
* [new branch]  mybranch -> mybranch 
...................... 
[email protected]:~/gittest$ git branch 
* master 
    mybranch 
[email protected]:~/gittest$ git checkout mybranch 
error: pathspec 'mybranch' did not match any file(s) known to git 

ПОДХОД 2 (с использованием git push -u)

[email protected]:~/$ git clone ssh://[email protected]/home/me/gittest 
[email protected]:~/$ cd gittest 
[email protected]:~/gittest$ git branch mybranch 
[email protected]:~/gittest$ git checkout mybranch 
[email protected]:~/gittest$ git >test 
[email protected]:~/gittest$ git add -A 
[email protected]:~/gittest$ git commit 
[email protected]:~/gittest$ git push -u origin mybranch 
...................... 
[email protected]:~/gittest$ git branch 
* master 
    mybranch 
[email protected]:~/gittest$ git checkout mybranch 
error: pathspec 'mybranch' did not match any file(s) known to git 

Оба они дают ту же самую ошибку.

Что мне не хватает?

+1

Для любого (как я), задающегося вопросом, что делает 'git> test', он перенаправляет вывод команды' git' (git help) в файл 'test'. –

+0

Можете ли вы проверить статус ваших филиалов с помощью «gitk -all», например? Что вы видите в ~/gittest/.git/refs/heads? – Matthieu

+0

В «подходе 1», если это действительно последовательность, которую вы делаете без чего-либо еще, это странно, что вы находитесь на mybranch, прежде чем нажимать, а затем вы на хозяине, когда вы делаете «git branch» ...? – Matthieu

ответ

1

Хорошо, я исправил его. Это была проблема в начале, когда я создал git repo на сервере. Я использовал команду git init для создания репо. Это вызвало некоторые проблемы с разрешением, и поэтому нажатые ветки не могли быть добавлены должным образом. Я должен был сделать репо с git init --share. Я создал новое репо с этим, и теперь он работает отлично.

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