Подтвердить что ты не робот

Имя пользователя и пароль для команды git push

Возможно клонировать репозиторий git, указывая имя пользователя и пароль в команде. Пример:

git clone https://username:[email protected]/file.git

Можно ли указать имя пользователя и пароль при нажатии? Так, например, запуск git push origin --all будет выдаваться с запросом пароля. Я хочу это по одной команде.

(Я знаю о возможности настройки ключей и других решений, но я хочу знать, есть ли способ просто использовать имя пользователя и пароль с помощью одной команды.) Я запускаю git Bash on Windows 8.1.

4b9b3361

Ответ 1

Да, вы можете сделать

git push https://username:[email protected]/file.git --all

в этом случае https://username:[email protected]/file.git замените origin на git push origin --all

Чтобы узнать больше параметров git push, попробуйте git help push

Ответ 2

Я использовал ниже формат

git push https://username:[email protected]/file.git --all

и если ваш пароль или имя пользователя содержат @, замените его на% 40

Ответ 3

Git не будет хранить пароль при использовании таких URL-адресов. Вместо этого он просто сохранит имя пользователя, поэтому в следующий раз вам нужно будет выслать вам пароль. Как описано в руководстве, чтобы сохранить пароль, вы должны использовать внешний помощник учетных данных. Для Windows вы можете использовать хранилище учетных данных Windows для Git. Этот помощник также включен по умолчанию в GitHub для Windows.

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

Это, конечно, работает только для аутентификации через https; для доступа ssh ([email protected]/repository.git) вы используете SSH-ключи и те, которые вы можете запомнить, используя ssh-agent (или PuTTYs, если вы используете plink).

Ответ 4

Согласно Git документации, последним аргументом команды git push может быть репозиторий, на который вы хотите нажать:

    git push [--all | --mirror | --tags] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
             [--repo=<repository>] [-f | --force] [--prune] [-v | --verbose] [-u | --set-upstream]
             [<repository> [<refspec>…]]

И параметр repository может быть либо URL-адресом, либо удаленным именем.

Таким образом, вы можете указать имя пользователя и пароль так же, как в своем примере команды clone.

Ответ 5

Возможно, но до git 2.9.3 (август 2016) a git push будет печатать полный URL-адрес, используемый при нажатии на клонированное репо.
Это будет включать ваше имя пользователя и пароль!

Но не более: см. commit 68f3c07 (20 июля 2016 г.) и совершить 882d49c (14 июля 2016 г.) Джефф Кинг (peff).
(слияние Junio ​​C Hamano - gitster - в commit 71076e1, 08 августа 2016 г.

push: анонимный URL-адрес в выводе статуса

Commit 47abd85 (выборка: сбрасывайте имена пользователей из url перед их сохранением, 2009-04-17, git 1.6.4). анонимизировать URL-адреса.
Основная цель заключалась в том, чтобы избежать приклеивания паролей в сообщениях слияния, но в качестве побочного эффекта мы также избегаем их печати в stderr.

Нажимаемая сторона не имеет проблемы с фиксацией слияния, но вероятно, следует избегать их печати в stderr. Мы можем повторно использовать ту же функцию анонимизации.

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

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