我做了一些提交,但后来我意识到我没有正确设置我的用户名。我更改了它并使用正确的用户名进行了更多提交。有什么方法可以在推送所有提交之前更改第一个提交以使用新用户名?
最佳答案
下面是我将如何实现您的目标,它依赖于 mq
extension , Mercurial 的补丁队列。 (已更新以包含 @MarkTolonen's 精彩评论!)
第 0 步。备份您的工作! (你可以创建一个本地的一次性克隆来试试这个)
- 启用
mq
配置文件中的扩展名(参见帮助 here ) - 使用
hg qimport
将要编辑的变更集导入补丁队列 - 使用
hg qpop -a
从已应用的补丁堆栈中提取这些补丁 - 用
hg qpush
推出第一个补丁 - 使用
hg qref -U
将补丁的作者更新为当前用户(或使用hg qref -u <username>
明确设置) - 对队列中的每个补丁重复第 4 步和第 5 步。
- 仔细检查您的工作 - 您现在在日志中显示的用户名是否正确?
- 使用
hg qfin -a
将补丁最终确定为变更集 - 您现在应该准备好将更新的变更集推送到公共(public)仓库
我原来的步骤包括在文本编辑器中手动设置用户,这代替了上面的步骤 4-6:
一个。打开文件夹 .hg\patches
, 你应该有一个 ###.diff
每个变更集的文件
B. 在您选择的文本编辑器中打开它们
C. 编辑顶部以 # User <your old user name>
开头的行
并将其更新为 # User <your new user name>
D. 保存补丁
E. 使用 hg push -a
将它们推回应用的堆栈
关于version-control - Mercurial:更改一些尚未推送的提交的用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25645136/