Всякий раз, когда я выполняю git push
, я должен ввести свое имя пользователя и пароль в командной строке вручную.
Однако я хочу автоматизировать этот процесс.
Итак, я попытался передать учетные данные команде с помощью конвейера:
printf 'username\npassword' | git push
но запрос имени пользователя и пароля все равно не исчезнет!
Почему это не работает?
Примечание:
я знаю, что это можно сделать с помощью:
git push 'https://username:password@github.com/username/repo.git'
но мне интересно знать, что не так с методом трубопровода?
Также, чтобы подтвердить, что этот процесс работает для других случаев, я провел эксперимент.
Я создал скрипт b.py
:
b.py
:
#!/usr/bin/env python3
username = input()
password = input()
log = open("log.txt", "w")
print(username + "\n" + password, file=log)
Затем я выполнил printf 'abcd\nefgh' | ./b.py
в терминале, который работал должным образом, и в результате получил файл журнала, содержащий строки имени пользователя и пароля:
log.txt
:
abcd
efgh
источник