Git Push Issues - PullRequest
       9

Git Push Issues

2 голосов
/ 28 апреля 2010

У меня есть репозиторий, который я недавно клонировал из github. Адрес git://github.com/JoshClose/CsvHelper.git, если вы хотите попробовать это. Я использую tortoisegit, но при необходимости воспользуюсь командной строкой, чтобы исправить это (для этого мне может понадобиться небольшая рука).

Лог выглядит так:

*   0.11
|
| * master origin/HEAD origin/master 0.10
| |
|-
|
*   0.9.1

Я почти уверен после внесения изменений в 0.10, что я не переключил ветку обратно на 0.9.1 и не работал на 0.11, но это было похоже.

Что я хочу сделать, это удалить 0.11, переключиться на 0.10, внести необходимые изменения в 0.11, а затем нажать на github. Изменения небольшие, но я мог бы объединить их, я полагаю.

После изменений журнал выглядит так:

* (this has no label/branch name)
|
* master origin/HEAD origin/master 0.10
|
* 0.9

Почему мастер не переключился на мои новые изменения?

Когда я делаю это и пытаюсь нажать на github или вносить изменения и нажимать, я получаю сообщение об ошибке:

git.exe push    "origin" (no branch)

error: src refspec (no does not match any.
error: src refspec branch) does not match any.
error: failed to push some refs to 'git@github.com:JoshClose/CsvHelper.git'

Я попробовал метод «подтолкнуть их» для исправления этой проблемы, но это не сработало. Тяни говорит, что все в курсе. Я также пытался использовать --force, но получаю ту же ошибку.

Я думаю, что проблема в том, что мастер не установлен с моими новыми изменениями. Когда я иду, чтобы нажать на github, ветка, на которой я работаю, говорит (нет ветки).

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

1 Ответ

3 голосов
/ 28 апреля 2010

Вы, должно быть, извлекли непосредственно тэг или коммит SHA1, сделав при этом отдельную HEAD .
Все ваши обновления / модификации произошли в этой неназванной ссылке на ветвь с помощью указанного «отсоединенного ГОЛОВА».

Перед нажатием вы должны создать (объявить) ветвь или объединить мастер с объединением HEAD (ускоренная перемотка вперед).

git branch tmp
git checkout master 
git merge tmp # fast-forward master

Это должно дать вам:

* (master,tmp)
|
* origin/HEAD (origin/master) 0.10
|
* 0.9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...