После основной команды $git push-u origin Git bash не запрашивает никакой аутентификации, буквально ничего не делает

#git #github

Вопрос:

Когда я пытаюсь загрузить свой код на github. Ниже приведены шаги, которые я выполнил в терминале Git Bash. Когда я пытаюсь перенести код на github с помощью $ git push -u origin main курсора, он перемещается на следующую строку и продолжает мигать, но ничего не делает.

 git remote add origin "https://github.com/TarunRajinikanth/Trifacta.git"
git add -A 
git config --global -user.name "username"
git config --global -user.email "useremail@gmail.com"
git commit -m "this is my first commit"
git branch -m main
git push -u origin main
 

введите описание изображения здесь

Комментарии:

1. Ничего общего с cygwin. Давайте подождем отзывов ОП, прежде чем закрывать вопрос.

2. Нет, проблема в mingw64.

3. @matt, по-видимому, больше последний Git в сочетании с последним GCM (менеджером учетных данных Git). Я отредактировал ответ с соответствующими ссылками на проблему.

4. Отлично, спасибо! Я сделаю это своей канонической ссылкой.

Ответ №1:

Обновление от октября 2021 года:

в выпуске 384 снова описана проблема:

Во время автоматического определения поставщика хоста, когда GCM выполняет HTTP-вызов удаленному устройству, иногда это может зависать до истечения длительного периода ожидания.

Теперь это исправлено с помощью PR 481 «Ускорьте автоматическое определение поставщика хостов и сделайте его более надежным» (см. фиксацию 1f926e4).


Обновление за июль 2021 года:

Git для Windows 2.32.0(2) включает GCM (ядро диспетчера учетных данных Git) версии v2.0.475.64295, что должно решить проблему/PR 374 («Исправлена ошибка, при которой подсказки графического интерфейса не отображались в Windows»).


Оригинальный ответ (июнь 2021 года):

Проверьте git config credential.helper , не возникнет ли проблема с механизмом кэширования.

Вы должны:

  • дважды проверьте наш %PATH% (перед открытием git bash), чтобы ссылаться C:Program FilesGitmingw64libexecgit-core ,
  • дважды проверьте, что хранится в диспетчере учетных данных Windows

вы делаете это с:

  printf "host=github.comnprotocol=https"|git-credential-manager get
 

Если вы видите неправильный пароль, удалите его с помощью:

 printf "host=github.comnprotocol=https"|git-credential-manager erase
 

Повторяйте erase команду до тех пор, пока не появится всплывающее окно (тогда не вводите свои учетные данные).

Затем повторите свои git push -u origin main действия и введите свои учетные данные , чтобы сохранить их.

Обратите внимание, что git-для-windows/проблема git 3268 указывает на microsoft/Git-Credential-Manager-Core выпуск 364.

В качестве временного обходного пути:

 git config --global credential.provider generic
 

Обратите внимание, что версия microsoft/Git-Credential-Manager-Core v2.0.475 только что была выпущена для устранения проблемы 364 с PR 375 в контексте Git 2.32 (май 2021 года).
Последний снимок Git для Windows должен содержать это исправление.

Комментарии:

1. Спасибо, теперь это решено путем добавления учетных данных Github в диспетчер учетных данных Windows.

Ответ №2:

У меня тоже была такая же проблема, мне удалось решить ее после нескольких часов работы. Теперь я делюсь с вами тем, как мне это удалось.. Я нашел три метода решения этой проблемы, надеюсь, хотя бы один из них сработает для вас! Но прежде чем я объясню решение, которое сработало для меня, я объясню шаг за шагом, в чем проблема:

ЕСЛИ БЫ ВСЕ РАБОТАЛО:
Если все сработало (как и должно было), после выполнения команды:
$ git push -u origin main
появится новое небольшое окно для ввода имени пользователя и пароля GitHub, это связано с тем, что в основном Git запрашивает у GitHub разрешение на внесение изменений. Это «окно» является помощником по вводу учетных данных.

ПРИЧИНА ПРОБЛЕМЫ:
Таким образом, проблема, с которой вы столкнулись, связана с проблемой аутентификации.

Решения:

  • 1. Первый способ
    Эта проблема часто возникает при установке Git: мы все склонны нажимать кнопку «далее», чтобы оставить настройки по умолчанию без изменений, не обращая особого внимания на то, что от нас просят. На самом деле, во время установки Git нас просят выбрать «Помощника по учетным данным»! Во время установки последней версии Git есть настройка по умолчанию, которая для меня вообще не работала. Поэтому я склонен думать, что те, кто устанавливает новую версию Git, могут столкнуться с этой проблемой (вероятно, для пользователей Windows).
    Так что же делать?
    Удалить Git: Я знаю, что это хлопотно, потому что вам нужно все перенастроить, но если вы хотите избежать удаления Git, я предлагаю вам пропустить этот метод.
    Поэтому я повторяю, удалите Git. Когда вы переустановите его, будьте особенно осторожны, когда он попросит вас выбрать помощника по учетным данным. Измените настройку по умолчанию, выберите «Менеджер учетных данных Git», как вы можете видеть на картинке: нажмите здесь, чтобы увидеть фотографию
    (на самом деле, если вы заметили, в нем говорится, что он обрабатывает учетные данные для GitHub)
    Продолжайте установку. Теперь ваша проблема не должна повториться.
  • 2. Второй Способ
    Чтобы решить эту проблему, другим методом является изменение URL-адреса таким образом:
    $ git config remote.origin.url https://USERNAME:PASSWORD@github.com/USERNAME/REPONAME.git
    Таким образом, вы не только решите проблему без помощи помощника по учетным данным, но и сохраните свое имя пользователя и пароль Github на Git: таким образом, вам больше не нужно будет вводить имя пользователя и пароль каждый раз, когда вам нужно будет сохранять свой код на Github. Теперь попробуйте нажать, проблема должна быть решена.
  • 3. Третий метод (РЕКОМЕНДУЕТСЯ)
    Для решения этой проблемы необходимо создать пару ключей SSH. Вы мало что можете сделать, рано или поздно вам придется это сделать, если вы хотите работать в команде. Ключ SSH помогает обеспечить безопасное соединение между вашим локальным хранилищем и безопасным удаленным хранилищем.
    это также очень полезно, поскольку избавляет вас от необходимости каждый раз идентифицировать себя.
    В Git Bash выполните следующую команду, чтобы сгенерировать пару ключей SSH:
    $ ssh-keygen -t rsa -b 4096 -C "youremail@example.com"
    Теперь дважды нажмите клавишу enter на клавиатуре.
    Отлично, вы только что создали свою пару ключей SSH.
    чтобы найти ее, просто перейдите по адресу:
    C:UsersYourUsername.ssh
    и просмотрите скрытые папки.
    затем у вас есть два файла в этой папке:
    ваш открытый ключ: id_rsa.pub
    ваш закрытый ключ: id_rsa.txt
    Вы можете скопировать свой открытый ключ, открыв его в блокноте.
    Теперь давайте посмотрим, как добавить ключ в свою учетную запись GitHub.
    Войдите в свое пространство на GitHub, затем перейдите в правый угол своей учетной записи и нажмите «Настройки». Нажмите на «Ключи SSH и GPG». Нажмите на «Новый SSH-ключ».
    Выберите название (например, «личный ключ»), вставьте свой SSH — ключ и нажмите «Добавить SSH-ключ».
    Конец.
    Ваш SSH-ключ был добавлен в вашу учетную запись GitHub, теперь у вас есть разрешение на отправку кода на платформу с вашего компьютера.
    PS: Прежде чем отправлять свой код, не забудьте использовать правильный URL-адрес при использовании ключа SSH: см. Примечания ниже.
  • Другие методы??
    Вероятно, будут и другие методы решения той же проблемы. Если вы используете Windows, одним из таких способов может быть открытие диспетчера учетных данных в Windows (поиск, введя это имя в строку поиска) и оттуда каким-то образом введите имя пользователя и пароль GitHub. Это способ, которому я не следовал честно, который я обнаружил поздно, и я не знаю, работает он или нет, я все равно хотел поделиться им с вами.

Я надеюсь, что смог помочь некоторым из вас. 🙂

ПРИМЕЧАНИЯ ДЛЯ НАЧИНАЮЩИХ

Помнить:

  • 1. При использовании пары ключей SSH URL-адрес, который вам нужно использовать, НЕ является следующим:
    https://github.com/USERNAME/REPONAME.git
    но это следующее:
    git@github.com:USERNAME/REPONAME.git
  • 2. Прежде чем отправлять свой код, я напоминаю вам добавить URL-адрес с помощью команды:
    $ git remote add origin git@github.com:USERNAME/REPONAME.git
    или, если вы добавили неправильный и хотите его изменить, используйте команду:
    $ git config remote.origin.url git@github.com:USERNAME/REPONAME.git
  • 3. происхождение слова — это просто имя по умолчанию. Вы можете связать URL-адрес с любым словом, которое вы хотите использовать: $ git remote add WORD URL

Ответ №3:

Попробовал как 1 — й, так и 2-й методы. Неудачный. Однако после переустановки я перезагрузил компьютер, и после запуска Git установил некоторые функции восстановления/добавления. После этого появилось всплывающее окно-я прошел проверку, и все получилось. После этого это письмо пришло по электронной почте:

Недавно стороннее приложение GitHub OAuth (менеджер учетных данных Git) с областями gist, репо и рабочих процессов было авторизовано для доступа к вашей учетной записи. Посещение https://github.com/settings/connections/applications/0120e057bd645470c1ed для получения дополнительной информации.

В конце концов, я достиг своей цели. Тогда это должно быть проще.

Ответ №4:

Я считаю, что в последней версии (2.32) есть ошибка, попробуйте понизить git до этой версии (2.30.x) это ссылка для загрузки git 2.30.2

Комментарии:

1. Согласен (мой ответ действительно написан для Git 2.32). Это исправляется, и вы можете проверить это с помощью последнего снимка Git для Windows: wingit.blob.core.windows.net/files/index.html

Ответ №5:

Если вы используете диспетчер учетных данных Windows, используйте CMD вместо git bash. Затем он предоставляет вам альтернативные методы аутентификации для продолжения.