Я не могу запустить git pull --tags из Go exe c. Команда, поскольку у меня нет прав доступа ..
Код ...
func SimpleCommand(start string, args ...string) (result string) {
cmd := exec.Command(start, args...)
//cmd.Dir = dir
bytes, err := cmd.Output()
if err != nil {
fmt.Print(err)
}
s := string(bytes)
return s
}
func main() {
SimpleCommand("git", "pull", "--tags")
}
Обычно, когда я запускаю git команды, я делаю это вручную в Git - bash, и у меня есть настройки файла .bashr c следующим образом ...
eval $(ssh-agent -s)
ssh-add c:/sshkeys/id_rsa
ssh-add c:/sshkeys/github
Это работает нормально, но я, когда я запускаю команду git из с в Go программе. Очевидно, что эти команды не запускаются. Таким образом, я получаю следующую ошибку ...
git@gitlab.com: В доступе отказано (publickey). Неустранимый: не удалось прочитать из удаленного хранилища.
Пожалуйста, убедитесь, что у вас есть правильные права доступа, и хранилище существует.
Однако я попытался выполнить эту команду по отдельности, используя функцию SimpleCommand она не может найти команду eval (она не является исполняемым файлом),
Я также считаю, что должен быть лучший способ сделать это, если я не могу заставить программу go управлять s sh, чтобы использовать их для запуска команд git.