Нажав на удаленную ветку - PullRequest
3 голосов
/ 22 декабря 2011

У меня проблема / вопрос с мерзавцем.

Мы используем битбакет в качестве удаленного репо. До сих пор у нас была только основная ветвь.

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

Я работал локально, внес изменения и зафиксировал их.

Теперь я хочу отправить их в удаленную ветку "развернуть".

Я думал, что

git push origin develop

сделает это, но я получу

error: src refspec develop does not match any.

Что это значит? Я вижу, что ветвь разработки действительно существует, так что я делаю не так?

Большое спасибо за вашу помощь!

Ответы [ 5 ]

3 голосов
/ 22 декабря 2011

Спасибо за ваши ответы, у меня снова все работает.

Для всех, кто интересуется, вот как я это сделал.

Я сделал

git pull origin master

и это обновило мой локальный репозиторий, и теперь стало известно, что существует удаленная ветка разработки

Я тогда сделал

git checkout develop

чтобы переключиться на мою локальную ветку разработки .. затем

git merge master

, чтобы объединить все изменения, которые я сделал в мастере, с веткой разработки Затем делать

git push origin develop

работал нормально.

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

Не уверен, что это был самый простой способ, но я многое узнал о git.

Еще раз спасибо за ваши ответы.

1 голос
/ 24 августа 2017

Вы забыли совершить свою работу? Это происходит, когда вы клонируете пустой репо, добавляете файлы, но забываете зафиксировать их перед нажатием.

1 голос
/ 29 ноября 2012

Если вы используете

git push <repo> <src>

, например, git push origin develop

, то git ожидает найти локальную ветвь с именем'velop ', которую он может предпринять, чтобы передать в удаленную веткуодно и то же имяПоскольку нет локальной ветви с таким именем, вы получите сообщение об ошибке.

Итак, если вы хотите перейти на новую (или существующую) удаленную ветку, которая имеет другое имя локально, вы должны сделать следующее:

git push <repo> <src>:<dst>

Например,

git push origin master:develop

Это должно работать.* Проверка *.Это так.

1 голос
/ 22 декабря 2011

develop существует где?местный?дистанционный пульт?или оба?Попробуйте:

git push origin HEAD:develop
0 голосов
/ 22 декабря 2011

Вы еще не вытащили разработку с сервера. У вас есть удаленная ветвь разработки, но у вас нет локальной ветви отслеживания разработки.

git checkout develop

Это создаст локальную ветку отслеживания разработки.

Если вы уже зафиксировали свои изменения, эти изменения находятся в основной ветке, которую вы использовали ранее. Переместить эти изменения в ветку разработки немного сложнее.

Перемещение этих изменений может быть объяснено после того, как мы определили проблему, которая у вас действительно есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...