! [отклонено] мастер -> мастер (без быстрой перемотки вперед) на новой актуальной ветке

В моем репо у меня есть ветка master и ветка new.

Я работаю над new какое-то время, делаю коммиты и пуши по ходу дела. Теперь я решил отделить new и назвать его newest. Так я и сделал

git checkout -b "newest"

и ветка была успешно создана. Я добавил файл и начал работать над ним. Я зафиксировал свои изменения пару раз.

НО, когда я пытаюсь отправить эту новую ветку и мои изменения в нее на origin, я получаю эту ошибку:

C:\wamp\www\myproj>git push origin
To https://github.com/Imray/Proj.git
 ! [rejected]        master -> master (non-fast-forward)
 ! [rejected]        new -> new (non-fast-forward)
error: failed to push some refs to 'https://github.com/Imray/Proj.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

Итак, как указано в инструкции, попробовал git pull, но потом получил:

There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/<branch> newest

Я застрял.

Как мне отправить мою новую ветку и изменения в github?


person CodyBugstein    schedule 01.01.2015    source источник


Ответы (2)


Проверьте свой git config push.default. Это может быть "matching", так как он пытается отправить все существующие ветки.
Это было по умолчанию до Git 2.0+.

Я бы рекомендовал установить его на «simple», чтобы нажать только текущую ветку.

При этом, чтобы отправить ветку, вам нужно (для первого нажатия) настроить восходящую ветку< /сильный>.

Для ветки, которую никогда раньше не нажимали:

git push -u origin newest

Для ветки, которая существует в восходящем репозитории:

git branch --set-upstream-to=origin/master master
git branch --set-upstream-to=origin/new new

Потом git checkout master ; git pull would работа.

person VonC    schedule 01.01.2015

попробуй это :

Надеюсь, поможет

person Gujarat Santana    schedule 16.04.2015