Не могу push-ить в git
Ответвился от ветки. поработал, закомитился. решил толкнуть в удаленный репазиторий. Нахожусь в ветке addCommand
fatal: The upstream branch of your current branch does not match the name of your current branch. To push to the upstream branch on the remote, use
git push . HEAD:ackLora
To push to the branch of the same name on the remote, use
git push . addCommand
To choose either option permanently, see push.default in ‘git help config’.
Не могу понять что за ошибка и как её исправить?
Тебе же все написали.
D:\Work\workspace\stm8l_8k>git push . addCommand Everything up-to-date
D:\Work\workspace\stm8l_8k>git push . HEAD:ackLora Everything up-to-date
D:\Work\workspace\stm8l_8k>git push fatal: The upstream branch of your current branch does not match the name of your current branch. To push to the upstream branch on the remote, use
git push . HEAD:ackLora
To push to the branch of the same name on the remote, use
git push . addCommand
To choose either option permanently, see push.default in ‘git help config’.
что мне написали? Не могу понять, в чем проблема?
git push origin addCommand — сработало, затем сделал git push origin HEAD:ackLora — сработало потом сделал git push и опять получил такойже фатал ерор
Есть флаг -u который связывает push’аемую ветку с апстримом, после push -u будет работать просто push.
спасибо. Почему сообщение после пуша D:\Work\workspace\stm8l_8k>git push Password: Everything up-to-date
Источник
После основной команды $ git push -u origin, Git bash не запрашивает аутентификацию, буквально ничего не делает
Когда я пытаюсь загрузить свой код на github. Ниже приведены шаги, которые я выполнил в терминале GitBash. При попытке отправить код в github с помощью $ git push -u origin main курсор переместился на следующую строку и продолжает мигать, но ничего не делает.
3 ответа
Обновление от июля 2021 года:
Git для Windows 2.32.0 (2) включает GCM (ядро Git Credential Manager) v2.0.475.64295, которая должна решить проблему / PR 374 («Исправить ошибку, при которой подсказки графического интерфейса не отображались в Windows»).
Оригинальный ответ (июнь 2021 г.):
Проверьте свой git config credential.helper , чтобы увидеть, не возникнет ли проблема с механизмом кеширования.
- дважды проверьте наш %PATH% (перед открытием git bash), чтобы указать C:\Program Files\Git\mingw64\libexec\git-core ,
- дважды проверьте, что хранится в диспетчере учетных данных Windows
Вы делаете это с помощью:
Если вы видите неправильный пароль, удалите его с помощью:
Повторяйте команду erase , пока не увидите всплывающее окно (тогда не вводите свои учетные данные)
Затем повторите git push -u origin main и введите свои учетные данные для их сохранения.
В качестве временного решения:
Я считаю, что в последней версии (2.32) есть ошибка, попробуйте понизить git до этой версии (2.30.x) это ссылка на скачать git 2.30.2
Источник
Git Не делает Push?
4.Создал и переключился на вторую ветку
5.Что то поменял
6.Хочу запушить обе ветки
Вы создали локальную ветку, но не отправили её на сервер.
Первый пуш ветки `git push -u origin my_barnch`, так же как и с master.
UPD:
Push без параметров отправляет лишь текущую ветку, остальные не трогает.
fshp: понятно т.е чтобы команда git push пушила все ветки, мне нужно
1. прописать git config —global push.default matching
2. что то сделать со второй веткой?
допустим у меня 3 ветки: master, branch2 и branch3
Какой набор команд мне поможет запушить их все на гитхаб?
И еще вопросик, а нужно ли это делать?т.е должны ли вообще лижать на боевом репозитории эти ветки?
beginer123: нужно выполнить «git push -u origin my_barnch» для каждой ветки, которую вы ещё ни разу не пушили.
А потом можно просто push.
Ветки конечно лучше пушить по окончанию работы. Так вы сможете продолжить работу на другом компьютере. Или в случае поломки жёсткого диска будете уверены, что ваша работа не похерилась.
Источник
Почему git push не пушит?
У вас нет ветки master.
На вещи скриншоте явно видно, что ветка у вас называется по новогоднему main.
Неплохо бы научиться понимать что вы пишите в консоли, а не копипастить команды не включая мозг.
git status написал, что твоя ветка main опережает связанную вышестоящую на несколько коммитов.
Это значит, что git push без параметров должен работать. Параметры нужны если ветки не связаны.
В частности git push origin master означает отправить локальную ветку master в репозиторий адрес которого указан в переменной origin. А у тебя вообще нет ветки master, так что такая команда резонно выдала тебе сообщение, что такой ветки нет: src refspec master does not match any
Надо было написать git push origin main, если уж решил уточнить что и куда. Но это тебе не поможет, так как main уже связан с origin/main и достаточно просто написать git push находясь в main
Скорее всего проблема в авторизации. Обычно при первом push открывается страница github в браузере и там нужно авторизоваться и подтвердить, что ты даёшь консольному git права записи в твой репозиторий.
До тех пор консольный git ждёт реакции и кажется что висит. Посмотри окна в браузере, может там от тебя ждут ответа?
Это если ты добавил origin через ссылку https
Если хочешь работать через ssh то всё сложнее. Там надо генерировать ключи и размещать их в нужные места.
Источник
git push: failed to push
! [rejected] testing -> testing (non-fast-forward)
error: failed to push some refs to ‘git@git.site.com:cgp/project.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.
Как таки запушить?
Из master’а влиты последния изменения в мою ветку разработки. Создал свою для разработки, закачиваю в удаленную ветку для тестирования.
5 ответов 5
В данный момент Вы пытаетесь запушить в ветку над которой работаете не только Вы. Вы столкнулись с этой проблемой, так как на сервере появились изменения, которых нет у Вас.
Ваша последовательность действий должна быть следующей:
Забрать изменения из удалённой ветки:
Далее, необходимо разрешить конфликты (смёржить изменения), если таковые присутствуют. Для этого надо воспользоваться следующей командой:
Если конфликты были и вы их разрешили, то Вам нужно будет создать новый коммит, который будет содержать исправление конфликтов:
Вы можете выполнить отправку своих изменений:
Если у Вас нет конфликтов, то шаг 2 и 3 можно пропустить.
Скорее всего на удаленной ветке есть новые коммиты которые у тебя отсутствуют. Это можно решит вот так
Если не поможет (значит есть конфликты) то можно вот так
Но данная проблема могла появиться если ты что небудь перезаписал в истории Git например закоммител через git —amend либо сделал rebase или cherry-pick. В таких случаях необходим «насильственно» протолкнуть изменения репозтирий. Это можно выполнить вот таким образом
Кто-то успел добавить изменения раньше вас. Вам надо выкачать эти изменения, интегрировать их в свою ветку и потом залить еще раз.
Если вы не знаете что добавлено в ветку testing (Возможен вариант что ветка может сломаться другим кодом). Отколите новую ветку от testing git checkout -b testing2. Потому в ветке testing2 сделайте git pull origin testing. Далее останется самое сложное — разрешить конфликты и проверить работоспособность Вашего кода. Закомитте Ваш код (git commit -a -m «SOME COMMENT»). Если всё работает перейдите на ветку testing (git checkout testing) и смержите ветку с testing2 (git merge testing2). Так как HEAD ветки testing2 выше testing конфликтов не будет.
Источник