当我从Groovy脚本推送到Git存储库时,Git正在使用带有用户名和密码的HTTPS连接,而不是我想要的SSH密钥。
我想强制Git在推送到遥控器时使用特定的SSH密钥,如下所示:
var repository;
NodeGit.Clone(GIT_REPO_URL, localPath, CLONE_OPTIONS)
.then(function(repo) {
repository = repo;
return repo.getCommit(version);
})
.then(function(commit) {
repository.setHeadDetached(commit.id());
}).catch((error) => {
// handler clone failure
});
这可能吗?
答案 0 :(得分:2)
如果您有多个身份文件,请创建SSH配置文件机制,以便为各种身份创建别名。
您可以使用许多参数和不同方法构建SSH配置文件。
此示例中使用的别名条目的格式为:
Host alias HostName AAAA.org IdentityFile ~/.ssh/identity
要为两个身份(workid和personalid)创建配置文件,您可以执行以下操作:
Open a terminal window.
Edit the ~/.ssh/config file.
如果您没有配置文件,请创建一个。
为每个标识组合添加别名,例如:
Host workid
HostName AAAA.org
IdentityFile ~/.ssh/workid
Host personalid
HostName BBBB.org
IdentityFile ~/.ssh/personalid