gpt4 book ai didi

r - 如何使用 git2r 通过 ssh 推送 git 存储库?

转载 作者:行者123 更新时间:2023-12-02 14:30:30 32 4
gpt4 key购买 nike

我正在尝试使用 git2r包(版本 0.21.0)。
我总是用ssh我的项目中的连接(GitHub 和 GitLab 托管):我可以做 git pull/pushRStudio IDE和命令行。
我有一个标准的 Ubuntu Xenial 配置;我的 key 存储在 ~/.ssh使用标准名称,我的 ssh-agent正在运行,并且 key 已添加到 ssh-agent .我的问题是如何使用 git2r使用 ssh 推送的包?

这是我对一个非常基本的工作流程所做的事情(在 master 上工作,远程名称是 origin ):

library(git2r)
repo <- init("path_to_clone")
remote_url(repo)

[1] "git@gitlab.com:account/repository.git"

credentials <- cred_ssh_key()
str(credentials)

Formal class 'cred_ssh_key' [package "git2r"] with 3 slots
..@ publickey : chr "/home/user/.ssh/id_rsa.pub"
..@ privatekey: chr "/home/user/.ssh/id_rsa"
..@ passphrase: chr(0)

# some work, add(), commit()...
push(repo, "origin", "refs/heads/master", credentials = credentials)

 Error in .local(object, ...) : 
Error in 'git2r_push': unsupported URL protocol


ssh git2r 中实现的协议(protocol)包裹?有什么我错过的吗?

编辑:我确实错过了一些东西。但是,什么?
libgit2_features()

$threads
[1] FALSE
$https
[1] FALSE
$ssh
[1] FALSE

最佳答案

我终于找到了我错过的东西。我忘了安装libssh2-1-dev安装前的库git2r .
类似问题 here .

安装 libssh2-1-dev :

sudo apt-get install libssh2-1-dev

关于r - 如何使用 git2r 通过 ssh 推送 git 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48599858/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com