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


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

git clone https://username:password@myrepository.biz/file.git

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

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

4 54

4 ответа:

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

git push https://username:password@myrepository.biz/file.git --all

в этом случае https://username:password@myrepository.biz/file.git заменить origin на git push origin --all

чтобы увидеть больше вариантов для git push попробуй git help push

по словам ГИТ документации, последний аргумент 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>…]]

и .

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

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

Это, конечно, работает только для аутентификации через https; для доступа ssh (git@host.com/repository.git) вы используете SSH ключи и те, которые вы можете вспомнить с помощью ssh-agent (или конкурс шпатлевки, если вы используя плинк).

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

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

push: анонимизировать URL в выводе состояния

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

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

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

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