Создание скриптов для команд git в Python без внешней библиотеки

1

Я пытаюсь запустить git pull без ввода имени пользователя и пароля. Как мне это сделать? Единственная функциональность, которую я буду использовать от git, - "git pull".

  • 0
    Вы можете использовать SSH ключи с Git. Не используйте скрипт для отправки пароля. Если вы настраиваете аутентификацию на основе ключей, вы можете использовать ssh-брелок, который вы разблокируете один раз для входа, или просто использовать ключ без ключевой фразы.
Теги:
scripting

4 ответа

3
Лучший ответ

Как вы подключаетесь к удаленному репозиторию git? Если вы используете конечную точку http/https, прочитайте этот документ, который содержит информацию о сохранении имени пользователя и пароля в .netrc.

Вы также можете вставлять свое имя пользователя и пароль в свой удаленный URL.

Лучшим выбором, если у вас есть опция, является использование ssh вместо этого (удаленный доступ через ssh выглядит как [email protected]: /path/to/repo). Затем вы можете настроить аутентификацию на основе ключа ssh, которая не требует имени пользователя и пароля.

2

Вы можете сделать это, как это ваш.git/config:

[remote "origin"]
 url = https://<user>:<pass>@github.com/whatever.git

например.

  • 0
    Нужно ли добавлять идентичный ключ, если я использую его на нескольких рабочих станциях. Я не беспокоюсь о безопасности.
  • 0
    Если вы проходите аутентификацию с использованием имени пользователя и пароля, то да, обычно вы будете использовать одни и те же учетные данные независимо от того, откуда вы подключаетесь. С другой стороны, если вы используете ssh-ключи, вы можете использовать разные ключи в каждом месте (при условии, что вы можете контролировать список разрешенных открытых ключей на удаленной стороне).
0

Если вам нужно выполнить команду через оболочку и взаимодействовать с ней, отправив ввод, как если бы он был написан с терминала и получил последующий вывод, вы можете использовать pexpect.

0

Используйте модуль subprocess для запуска git в качестве внешней команды.

  • 0
    Я понимаю это - но как передать команде имя пользователя и пароль, чтобы она не отображалась? Безопасность не проблема.
  • 0
    Установите их в своем .gitconfig - book.git-scm.com/2_setup_and_initialization.html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню