Я пытаюсь перенести один из моих проектов на github, и я получаю эту ошибку:
peeplesoft@jane3:~/846156 (master) $ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
Итак, я попробовал это и получил это:
peeplesoft@jane3:~/846156 (master) $ git push --set-upstream origin master
fatal: Authentication failed
Другая ветка stackoverflow предложила мне попробовать следующее с неутешительными результатами.
peeplesoft@jane3:~/846156 (master) $ git push -u origin master
fatal: Authentication failed
Тогда я попробовал это:
peeplesoft@jane3:~/846156 (master) $ git config remote.origin.push HEAD
peeplesoft@jane3:~/846156 (master) $ git push
fatal: Authentication failed
Есть намеки?
git
команды, которые опубликовал ОП, помог мне, даже больше, чем ответыОтветы:
Вы устранили исправление, но независимо от этой проблемы (которую я объяснил в разделе « Почему мне нужно явно выдвигать новую ветвь? »:
git push -u origin master
Илиgit push -u origin --all
), теперь вам нужно решить проблему аутентификации.Это зависит от вашего URL (ssh как в '
git@github.com/yourRepo
, или https как вhttps://github.com/You/YourRepo
)Для https URL:
Если ваша учетная запись защищена двухфакторной аутентификацией , ваш обычный пароль не будет работать (для URL https), как описано здесь или здесь. .
Та же проблема, если ваш пароль содержит специальный символ (как в этом ответе )
Если https не работает (потому что вы не хотите генерировать вторичный ключ, PAT: персональный токен доступа), тогда вы можете переключиться на ssh, как я показал здесь .
Как отметил qwerty в комментариях, вы можете автоматически создать ветку с тем же именем на удаленном компьютере с помощью:
Зачем?
.git\HEAD
файл) имеет ссылку на текущую извлеченную ветку (например:ref: refs/heads/master
)Так как refpec, используемый для этого push, является head: (no destination), отсутствующее
:<dst>
означает обновить тот же ref, что и<src>
(head, который является ветвью).Это не будет работать, если HEAD отсоединен, хотя.
источник
git push origin head -u
. Автоматически создает ветку с тем же именем на пульте.Также вы можете использовать следующую команду:
Это создает (-u) другую ветку в вашем удаленном репо. Как только аутентификация с использованием ssh завершена, это так.
источник
-u
вариант : опция является ярлыком для--set-upstream
опции, которая не имеет ничего общего с созданием новой ветви. Из документации опции-u
или--set-upstream
: «Для каждой ветки, которая обновлена или успешно отправлена, добавьте ссылку вверх по течению (отслеживание), используемую git-pull [1] без аргументов и другими командами». На самом деле я не понимаю, почему за этот ответ проголосовали настолько, насколько он вводит в заблуждение.Видимо, вы также получаете это сообщение об ошибке, когда вы забываете
--all
параметр при первом нажатии. я написалкоторый дал эту ошибку, она должна была
О, как я люблю эти ошибки копирования-вставки ...
источник
Сначала необходимо настроить пульт, а затем нажать.
Актуальные инструкции
источник
Пожалуйста, попробуйте этот сценарий
источник
Если вы определите действие
git push
оно должно выполнить, если в командной строке не задан refspec, в удаленном не настроен refspec, и ни один из параметров, заданных в командной строке, не подразумевает refspec.Просто сделай это:
затем
источник
Что ж, у меня возникла та же проблема при загрузке, и я решил ее, выполнив то же самое, что он говорит: раньше я пытался протолкнуть терминал в свой репозиторий в linux по https, например
Но не было никакого результата, и поэтому я углубился и попытался:
И это сработало. Таким образом, вам будет предложено ввести имя пользователя и пароль. Я также сгенерировал токен и вместо пароля я вставил токен, и, таким образом, все было сделано успешно.
источник
на очень простой стороне, когда у вас есть другие ветви, вы не можете просто использовать для толкания ветви
Но вам нужно указать ветку сейчас, даже если у вас есть извлечение ветви, которую вы хотите нажать, поэтому
Где может быть даже
master
веткаисточник
Я сделал простую ошибку, забыв зафиксировать:
потом
git push origin master
работал.источник
У меня такая же проблема
Я решил, что использовал команду ниже
и он добавит конфиг в файл конфигурации в папке .git.
источник
Сначала используйте
git pull origin your_branch_name
Тогдаuse git push origin your_branch_name
источник
Это простое решение, которое у меня сработало на macOS Sierra. Я сделал эти две команды:
Если он показывает какую-либо фатальную ошибку в отношении апстрима после любого будущего нажатия, просто запустите
источник
1. Компьютер и ваш github связаны. Используйте SSH. Код компьютера, чтобы вам не нужно было отправлять проверенное, введите описание изображения здесь
2. git не может управлять пустой папкой. Таким образом, вы должны написать такой readme.md, сохраненный в файле. В противном случае вы не найдете файл.
3. В вашем местном проекте ничего нового нет. пожалуйста
git init
git remote add origin +"githublink"
git add .
git commit -m ""
еще раз.4. затем
git pull origin master
(ключ)5. Наконец
git push origin master
(решить всю проблему).http://my.oschina.net/psuyun/blog/123005参考链接
источник
Если вы пытаетесь отправить свой код прямо в главную ветку, используйте команду
Это помогает мне.
источник
Я также получил ту же ошибку. Я думаю, что это потому, что я клонирую ее и пытаюсь отодвинуть назад. $ git push -u origin master Это правильная команда. Попробуйте это
Подсчет объектов: 8, сделано. Дельта-сжатие с использованием до 2 потоков. Сжатие объектов: 100% (4/4), сделано. Написание объектов: 100% (8/8), 691 байт | 46,00 КиБ / с, готово. Итого 8 (дельта 1), повторно использованный 0 (дельта 0) удаленный: разрешение дельт: 100% (1/1), выполнено.
master [new branch] -> master Мастер ветки настроен для отслеживания удаленного мастера ветки от источника.
источник
У меня была такая же проблема, причина была в том что я забыл указать ветку
источник
Для меня я выдвигал изменения к частному репо, к которому у меня не было доступа для записи. Убедитесь, что у вас есть действительные права доступа при выполнении операций push или pull.
Вы можете напрямую подтвердить через
источник
Для меня это было потому, что я удалил скрытую папку .git .
Я исправил это путем удаления папки, повторного клонирования и повторного внесения изменений.
источник
Если вы находитесь в любой ветке, вы можете использовать это:
Это автоматически создаст новую ветку с тем же именем на пульте.
источник
Чтобы решить эту проблему, извлекая код из
git
себя, вам нужно дать команду, как показано ниже:git checkout -b branchname origin/branchname
Здесь по умолчанию мы настраиваем
the upstream branch
, поэтому вы не столкнетесь с упомянутой проблемой.источник
Для меня проблема происходит от названия моей ветки: "# name-of-my-branch", без "#" все работает нормально!
источник