Простой git запрашивает имя пользователя и пароль для каждой команды git - PullRequest
2 голосов
/ 08 марта 2019

Вот проблема https://www.npmjs.com/package/simple-git. Я использую npm-модуль simple-git для работы с локальным git-репозиторием. Локальный репозиторий git уже извлечен локально, и я могу работать с репозиторием через git-bash (commit / push / pull all works). В то же время, когда любая команда, выполняемая в том же хранилище с помощью simple-git, требует от меня ввода имени пользователя и пароля каждый раз.

Как я могу заставить simple-git использовать мои существующие учетные данные и перестать запрашивать у меня имя пользователя и пароль для каждой команды git?

PS Когда инициализируется simple-git, я просто указываю путь к хранилищу. Этого должно быть достаточно, и он должен использовать файл .git / config. Возможно, что-то в этом .git / config должно быть / может быть установлено, чтобы помочь ему перестать спрашивать имя пользователя и пароль.

1 Ответ

0 голосов
/ 30 мая 2019

Рекомендованный способ - это clone хранилище с учетными данными (таким образом, на пульте уже будет имя пользователя и пароль).

Если хранилище уже клонировано, и вы не используетеЕсли вы не хотите связываться с удаленным, вы можете передать URL с учетными данными в них команде git.Вот пример для push.

const remotes = await git.getRemotes(true);
if (remotes.length) { // Otherwise it's a local repository, no push
    let remote = remotes[0].name; 
    if (remotes[0].refs.push.indexOf("@") < 0) { // credentials aren't in the remote ref
        remote = remotes[0].refs.push.replace("://", `://${USER}:${PASSWORD}@`);
    }
    const pushRes = await git.push(remote, "master");
}
...