Редактировать: Я изменяю вопрос в соответствии с моим текущим пониманием проблемы, которая значительно изменилась.
Оригинальное название: Кажется, что Nodegit запрашивает неверные учетные данные при нажатии
При попытке push
с использованием nodegit кажется, что ничто не работает в Windows (хотя они отлично работают в Linux).
- Использование SSH
sshKeyFromAgent
- ошибка аутентификации: сбой соединения агента
sshKeyNew
- credentials
обратный вызов повторяется (выглядит как бесконечный цикл
но я не уверен )
sshKeyMemoryNew
: credentials
вызывается дважды, а затем узел выходит без диагностики (события exit
и beforeExit
для process
не сигнализируются)
- Использование HTTPS
userpassPlaintextNew
: [Ошибка: неизвестная ошибка проверки сертификата] errno: -17
Ниже следует оригинальный вопрос.
Я пытаюсь получить nodegit
до push
, и следующий вопрос , кажется, решает эту ситуацию. Однако я не могу заставить его работать.
Я клонировал репозиторий, используя SSH, и когда я пытаюсь отправить, мой credentials
обратный вызов вызывается с пользователем git , а не motti (который является действительным git пользователя).
try {
const remote = await repository.getRemote("origin");
await remote.push(["refs/head/master:refs/heads/master"], {
callbacks: {
credentials: (url, user) => {
console.log(`Push asked for credentials for '${user}' on ${url}`);
return git.Cred.sshKeyFromAgent(user);
}
}
});
}
catch(err) {
console.log("Error:", err);
}
Я получаю следующий вывод:
Push запросил учетные данные для «git» на git@github. [отредактировано] .net: motti / tmp.git
Ошибка: {Ошибка: проверка подлинности ошибки: сбой подключения агента errno: -1, errorFunction: 'Remote.push'}
Если я пытаюсь жестко кодировать motti для функции sshKeyFromAgent
, ошибка изменится на:
Ошибка: {Ошибка: имя пользователя не соответствует предыдущему запросу. Errno: -1, errorFunction: 'Remote.push'}
Это мой первый раз, когда я пытаюсь программно использовать git, поэтому я могу упустить что-то простое ...
Ответьте на несколько вопросов из комментариев:
- Я работаю на Windows 10
- узел v8.9.4
- git версия 2.15.0.windows.1
- версия ноджита 0.24.1
- пользователь, работающий с узлом, является моим основным пользователем, который при правильном использовании git в командной строке работает