当我在Mercurial中提交这样的东西时:
hg commit -m "username question"
Run Code Online (Sandbox Code Playgroud)
我看到这个输出:
No username found, using 'WindowsVistaAdmin@ChunkyMonkey' instead
Run Code Online (Sandbox Code Playgroud)
ChunkyMonkey
是我的Windows机器名称,显然WindowsVistaAdmin
是我在此计算机上登录的用户.
如何将用户名设置为更受尊重的用户,或者至少更简洁?
tgh*_*ghw 114
在您的~/.hgrc
(*nix)或mercurial.ini
(Windows)文件中:
[ui]
username = First Last <email@address.com>
Run Code Online (Sandbox Code Playgroud)
(mercurial.ini
适用于C:\Documents and Settings\[username]\
XP及更低版本,C:\Users\[username]\
适用于Vista及更高版本.hgtk userconfig
如果安装了TortoiseHg,也可以运行,并按此方式执行.)
fry*_*ter 27
如果要使用--config,可以直接在命令行上指定用户名.例如
hg --config ui.username=frymaster -m "comment here" commit
Run Code Online (Sandbox Code Playgroud)
实际上,您可以使用此命令覆盖.hgrc中的任何内容.只需看看你的.hgrc并注意格式:
[section]
key=val
Run Code Online (Sandbox Code Playgroud)
直接翻译成
hg --config section.key=val
Run Code Online (Sandbox Code Playgroud)
And*_*gan 16
来自这里的信息:
设置用户名
当您第一次尝试运行hg commit时,无法保证成功.Mercurial会根据您提交的每项更改记录您的姓名和地址,以便您和其他人稍后能够告知谁进行了每项更改.Mercurial试图自动找出一个合理的用户名来提交更改.它将按顺序尝试以下每种方法:
- 如果在命令行上为hg commit命令指定-u选项,后跟用户名,则始终给予最高优先级.
- 如果已设置HGUSER环境变量,则接下来检查.
- 如果您在主目录中创建一个名为.hgrc的文件,其中包含用户名条目,将在下一个文件中使用.要查看此文件的内容应如何,请参阅下面的"创建Mercurial配置文件"一节.
- 如果您已设置EMAIL环境变量,则接下来将使用此变量.
- Mercurial将查询您的系统以找出您的本地用户名和主机名,并从这些组件构造用户名.由于这通常导致用户名不是很有用,如果必须这样做,它将打印警告.
如果所有这些机制都失败,Mercurial将失败,打印错误消息.在这种情况下,在您设置用户名之前,它不会让您提交.
您应该将HGUSER环境变量和hg commit命令的-u选项视为覆盖Mercurial默认选择的用户名的方法.对于正常使用,为自己设置用户名的最简单和最健壮的方法是创建.hgrc文件; 详见下文.
这是我的 windows /users/xxx/mercurial.ini 的外观。我无需输入任何内容的用户名或密码。看起来它可能是特定于回购协议的。我安装了 tortoiseHG,不确定这是否有什么区别。
[ui]
username=mbroekhuis
[auth]
repo.prefix=http://myrepo
repo.username=mbroekhuis
repo.password=secret
Run Code Online (Sandbox Code Playgroud)