Я хочу сделать эту команду в одну строку:
git pull && [my passphrase]
Как это сделать?
Я хочу сделать эту команду в одну строку:
git pull && [my passphrase]
Как это сделать?
Ответы:
Это не совсем то, что вы просили, но для http (s):
https://user:pass@domain/repo
но это не очень рекомендуется, так как он будет показывать вашего пользователя / прохода во многих местах ...Примеры использования для помощника учетных данных
git config credential.helper store
- хранит учетные данные неопределенно долго.git config credential.helper 'cache --timeout=3600'
- магазины на 60 минутДля доступа по ssh вы должны использовать ssh-агент, который при необходимости предоставит ключ ssh. Это потребует генерации ключей на вашем компьютере, хранения открытого ключа на удаленном сервере и добавления закрытого ключа в соответствующее хранилище ключей.
Я нашел один способ предоставить учетные данные для соединения https в командной строке. Вам просто нужно указать полный URL для git pull и включить туда учетные данные:
git pull https://username:password@mygithost.com/my/repository
Вам не нужно предварительно клонировать хранилище с учетными данными, это означает, что ваши учетные данные не заканчиваются .git/config
. (Но убедитесь, что ваша оболочка не предает вас и сохраняет командную строку в файле истории.)
:password
часть, вам будет предложено ввести пароль после нажатия Enter. Таким образом, ваш пароль не будет сохранен в истории Bash.
Непосредственно не отвечает на вопрос, но я нашел этот вопрос, когда искал способ, по сути, не вводить пароль повторно каждый раз, когда я подключаюсь к удаленному серверу .
Ну, git
позволяет вам кэшировать свои учетные данные в течение ограниченного периода времени. Это настраивается в, git config
и эта страница объясняет это очень хорошо:
https://help.github.com/articles/caching-your-github-password-in-git/#platform-linux
В терминале запустите:
$ git config --global credential.helper cache
# Set git to use the credential memory cache
Чтобы настроить время ожидания кэша, вы можете сделать:
$ git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)
Ваши учетные данные будут храниться в памяти в течение запрошенного периода времени.
Обратите внимание, что способ, которым git credential helper «store» будет хранить незашифрованные пароли, меняется в Git 2.5+ (2 квартал 2014 года).
Смотрите коммит 17c7f4d от Junio C Hamano ( gitster
)
credential-xdg
Настройте образец "
store
" бэкенда помощника по учетным данным, чтобы указать расположение файла конфигурации XDG, когда оно указано.
Док теперь говорит:
Если не указано:
- учетные данные будут искать от
~/.git-credentials
и$XDG_CONFIG_HOME/git/credentials
, и- учетные данные будут записаны,
~/.git-credentials
если они существуют, или$XDG_CONFIG_HOME/git/credentials
если они существуют, а первые нет.
Ниже cmd будет работать, если у нас нет @ в пароле:
git pull https://username:pass@word@mygithost.com/my/repository
если у вас @ в пароле, замените его на% 40, как показано ниже:
git pull https://username:pass%40word@mygithost.com/my/repository