我错误地提到了错误的提交。有没有一种简单的方法可以将它整体移动到另一个提交中?
我希望有一种方法可以在一个不同的提交中将一个音符重新学习,但是最简单的方法就是很高兴知道。我怀疑最简单的选择是使用桌面剪贴板复制粘贴文本。
答案 0 :(得分:1)
可能最简单的方法是复制并删除注释:
例如,要将HEAD注释移至上一次提交,
# /!\ Be warned, this may be a destructive act
# git notes copy <source> <dest>
git notes copy HEAD HEAD^
# git notes remove <target>
git notes remove HEAD
P.S。修改提交时不会自动迁移注释。
答案 1 :(得分:0)
请注意,在Git 2.25(2020年第一季度)中,“ git notes
更强大:
git note copy $original
应该将附加到原始对象的注释复制到HEAD
,但是由于对命令行参数验证的错误加紧使先前错误地禁用了该功能。
请参见commit d58deb9的commit 8af69cf,Doan Tran Cong Danh (congdanhqx-zz
)(2019年10月16日)。
(由Junio C Hamano -- gitster
--在commit d4a98e7中合并,2019年11月10日)
notes
:将最小数量的参数固定为“copy
”子命令签名人:Doan Tran Cong Danh
builtin/notes.c
::copy()
函数准备处理命令行中给出的一个或两个参数;当给出一个参数时,to-obj
默认为HEAD
。bbb1b8a3(“注:检查要复制的参数“
git notes
”,2010-06-28,Git v1.7.1.1)试图确保“git notes
”复制”(带有其他 no 个参数)不会通过检查参数数量来解除对NULL
的引用,但是错误地坚持认为我们需要两个参数,而不是一个或两个。这将默认的
to-obj
设置为HEAD
。更正它。
所以现在,git notes copy -f HEAD~2
应该像git notes copy -f HEAD~2 HEAD
一样工作,并用HEAD
之前两次提交的注释正确覆盖HEAD
注释。