即使在推送之后,也要在git中注销以前的一系列提交
如何在保留所有其他信息的同时执行推送之后,在git中从即使在推送之后,也要在git中注销以前的一系列提交,git,Git,如何在保留所有其他信息的同时执行推送之后,在git中从头开始的一系列以前的提交上注销?您可以通过重写分支来实现这一点。但是,您需要限制更改: git filter-branch --msg-filter 'cat - && echo && echo "Signed-off-by: Author <author@domain>" "$@";' HEAD~5..HEAD git过滤器分支--msg过滤器“cat-&&echo&&echo”签字人:作者“$
头开始的一系列以前的提交上注销?您可以通过重写分支来实现这一点。但是,您需要限制更改:
git filter-branch --msg-filter 'cat - && echo && echo "Signed-off-by: Author <author@domain>" "$@";' HEAD~5..HEAD
git过滤器分支--msg过滤器“cat-&&echo&&echo”签字人:作者“$@”头~5.头
--msg filter
更改提交消息。它将命令作为参数
$@
是提交“对象”
HEAD~5..HEAD
是要更改的提交范围
因为您正在更改历史记录,并且已经推送到服务器,所以您很可能需要git push-f
远程更新更改。您可以通过重写分支来实现这一点。但是,您需要限制更改:
git filter-branch --msg-filter 'cat - && echo && echo "Signed-off-by: Author <author@domain>" "$@";' HEAD~5..HEAD
git过滤器分支--msg过滤器“cat-&&echo&&echo”签字人:作者“$@”头~5.头
--msg filter
更改提交消息。它将命令作为参数
$@
是提交“对象”
HEAD~5..HEAD
是要更改的提交范围
因为您正在更改历史记录,并且已经推送到服务器,所以您很可能需要git push-f
远程更新这些更改。您能解释一下您的答案吗。filter branch
是如何做到这一点的?@bryankennedy怎么样?很好!我认为这确实有助于解释您在这里所做的事情。它看起来像是git
现在打印:```警告:git filter branch有过多的gotcha生成了损坏的历史重写。在继续中止之前点击Ctrl-C,然后改用另一种过滤工具,如“git filter repo”()。更多详细信息,请参见过滤器分支手册页面;要消除此警告,请将过滤器\分支\消除\警告设置为1```如果您希望新添加的行不包含额外的换行符,例如当提交已经有其他签准标记时,请省去第一个echo
,以避免换行符。您能再解释一下您的答案吗。filter branch
是如何做到这一点的?@bryankennedy怎么样?很好!我认为这确实有助于解释您在这里所做的事情。它看起来像是git
现在打印:```警告:git filter branch有过多的gotcha生成了损坏的历史重写。在继续中止之前点击Ctrl-C,然后改用另一种过滤工具,如“git filter repo”()。更多详细信息,请参见过滤器分支手册页面;要消除此警告,请将过滤器\分支\消除\警告设置为1```如果希望新添加的行不包含额外的换行符,例如当提交已经有其他签准标记时,请省略第一个echo
,以避免换行符。