Version control Mercurial:更改一些尚未推送的提交的用户名?
我做了一些承诺,但后来我意识到我的用户名设置不正确。我更改了它,并使用正确的用户名进行了几次提交。在推送所有用户名之前,有没有办法将第一次提交更改为使用新用户名?以下是我将如何实现您的目标,它依赖于Mercurial的修补程序队列。(更新后包含精彩评论!) 第0步。支持你的工作!(您可以创建本地一次性克隆以尝试此操作)Version control Mercurial:更改一些尚未推送的提交的用户名?,version-control,mercurial,Version Control,Mercurial,我做了一些承诺,但后来我意识到我的用户名设置不正确。我更改了它,并使用正确的用户名进行了几次提交。在推送所有用户名之前,有没有办法将第一次提交更改为使用新用户名?以下是我将如何实现您的目标,它依赖于Mercurial的修补程序队列。(更新后包含精彩评论!) 第0步。支持你的工作!(您可以创建本地一次性克隆以尝试此操作) 在配置文件中启用mq扩展名(请参阅帮助) 使用hg qimport将要编辑的变更集导入修补程序队列 使用hg qpop-a将这些补丁从应用的补丁堆栈中拉出 使用hg qpush
mq
扩展名(请参阅帮助)hg qimport
将要编辑的变更集导入修补程序队列hg qpop-a
将这些补丁从应用的补丁堆栈中拉出hg qpush
hg qref-U
将补丁作者更新为当前用户(或使用hg qref-U
明确设置)hg qfin-a
将补丁最终确定为变更集我最初的步骤包括在文本编辑器中手动设置用户,这取代了上面的步骤4-6: A.打开文件夹
.hg\patches
,每个变更集应有一个####.diff
文件B.在您选择的文本编辑器中打开它们
C.编辑顶部以
#User
并将其更新为
#User
D.保存修补程序
E.使用
hg push-a
将它们推回到应用堆栈上可能是最简单(也是最快的)从Mercurial到Mercurial的方法是使用特殊的--authormap
在hg qpop-a
之后用新的替换旧的用户名,您也可以hg qpush
一次一个补丁,然后hg qref-U
打开更新到当前用户信息,而不是手动编辑每个补丁。另外,hgqref-u
来显式指定它。那会容易得多!我已将其编辑到步骤列表中。谢谢@MarkTolonen!