在Git中,要更改当前分支的最新提交,请将--amend选项使用为git-commit。
化石中最接近的操作是什么?是否有方法将GPG签名添加到未签名的提交(git commit --amend -S)?
发布于 2016-12-20 14:17:10
发布于 2020-03-06 01:23:21
是--一种修改化石提交的方法,就像在git中一样。事实上,这个机制是相同的,但是过程(以及所保留的数据)是不同的。
这两种工具都将创建一个新的提交(git不会修改原始提交,而不会修改Both ),区别仅在于原始提交发生了什么。
在git中,旧的提交一直处于悬空状态,直到最终永久删除了(除非标记)。
在fossil中,它被放在一个隐藏的分支上,永久地保留了(但是如果需要的话,您仍然可以查看它)。
使用git amend的过程是:首先进行更改,然后更新回购数据库。在化石中,情况正好相反--这也可以用git完成,如下所示。
fossil (步骤1来自:https://fossil-scm.org/fossil/doc/trunk/www/shunning.wiki):
$ # 1.
$ fossil amend abcd1234 --branch oops --hide
$ fossil up trunk
$ # 2.
$ fossil revert -r abcd1234
$ # 3.
$ $EDITOR the.file
$ fossil commit -m 'my new msg with amended code'git:
$ # 1.
$ git reset --hard HEAD^
$ # 2.
$ git checkout abcd1234 .
$ # 3.
$ $EDITOR the.file
$ git commit -am 'my new msg with amended code'在第2步中,git仍然知道旧的提交,因为它还没有gc-你可以在重发中看到它。
git amend只是走捷径,但是对数据的操作是相同的。
发布于 2020-04-17 08:23:33
石化修改还可以只更新提交消息:
fossil amend COMMIT_ID -m 'my new commit message'或
fossil amend COMMIT_ID -e # launch $EDITOR to revise message(它们添加了一个带有新/修订消息的控制工件,而Fossil将显示该消息而不是原始消息。)
它还有其他功能:https://fossil-scm.org/fossil/help?cmd=amend
在提交中添加标记的一种可能方法是:
fossil amend COMMIT_D --tag sign-off=my_name您可以通过打开清单设置、签出提交、生成PGP/GPG签名来向未签名的提交添加PGP/GPG签名。
fossil amend COMMIT_ID --tag signature=SIGNATURE当然,这比修改直接支持的添加签名更难。
https://stackoverflow.com/questions/41243561
复制相似问题