我正在使用javascript开发一个项目,以创建一个能够执行git命令(例如clone,pull,push)的应用程序。
我正在使用一个名为简单git(https://github.com/steveukx/git-js)的库,该库允许我使用exec执行此操作。
git clone命令的示例:
const USER = 'something';
const PASS = 'somewhere';
const REPO = 'github.com/username/private-repo';
const git = require('simple-git/promise');
const remote = `https://${USER}:${PASS}@${REPO}`;
git().silent(true)
.clone(remote)
.then(() => console.log('finished'))
.catch((err) => console.error('failed: ', err));
要执行例如pull命令,只需在URL中添加用户名和密码,它就可以与HTTPS完美配合:
const remote = `https://${username}:${password}@${REPO}`;
但是现在,我不知道如何使用SSH进行身份验证。
是否可以通过exec(子库,process.spawn)使用HTTPS或SSH进行身份验证。
我们也可以使用git中的凭据,但是问题是我需要在pull命令后放置密码,但是我不能使用exec。
预先感谢您的回答。