我是一个Mercurial新手,我刚刚开始使用它。
我在本地存储库工作,当我提交更改时,我使用hg <command> ssh://user@host/usr/www/site.com/project
来推送,拉动并查看传入/传出更改。
但每次ssh问我密码。有没有办法记住我的ssh密码为此目的?另外,每次完整命令(ssh:// user etc etc)时我怎么不写?
答案 0 :(得分:4)
您必须使用公钥设置ssh。网上有很多教程,例如见Getting started with SSH
准备好密钥后,您可以使用ssh-agent仅在每个会话中输入一次本地私钥密码。还有一些GUI工具充当ssh-agent(例如Mac上的SSHKeychain)
如果您的安全要求较低,您也可以在没有密码的情况下生成密钥。
但请不要在配置文件中存储明文密码。
有两种方法可以避免在每个命令上键入url:
来自hg help urls
These URLs can all be stored in your hgrc with path aliases under the
[paths] section like so:
[paths]
alias1 = URL1
alias2 = URL2
...
另一种可能是使用默认路径:
default:
When you create a repository with hg clone, the clone command saves the
location of the source repository as the new repository's 'default'
path. This is then used when you omit path from push- and pull-like
commands (including incoming and outgoing).
这就是我经常使用的东西,因为通常你会从某个地方获得你的工作目录托架克隆,从那以后我就不指定url并使用默认值。