Всякий раз, когда я выполняю 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