如何修改git日志

如何修改git日志,git,gerrit,Git,Gerrit,所以基本上,我知道要查看过去的git提交,需要做git日志。但在我的公司,我们和gerrit一起做一个承诺,你对这个承诺做出修改。我如何看待对该特定提交的所有过去的修改,因此我可以看到它们的每个提交消息,并且可以区分不同的修改?谢谢 简短的回答,这是不可能的 发件人: 修改后的提交实际上是全新的提交,以前的提交将不再位于当前分支上 也就是说,您将无法访问修改后的提交 另一种方法是,您可以将所有更改作为单独的提交应用,并在完成审阅时使用它们。假设所有“修订”都具有相同的更改ID, (这就是Gerr

所以基本上,我知道要查看过去的git提交,需要做git日志。但在我的公司,我们和gerrit一起做一个承诺,你对这个承诺做出修改。我如何看待对该特定提交的所有过去的修改,因此我可以看到它们的每个提交消息,并且可以区分不同的修改?谢谢

简短的回答,这是不可能的

发件人:

修改后的提交实际上是全新的提交,以前的提交将不再位于当前分支上

也就是说,您将无法访问修改后的提交

另一种方法是,您可以将所有更改作为单独的提交应用,并在完成审阅时使用它们。

假设所有“修订”都具有相同的更改ID,
(这就是Gerrit将一组提交与同一Gerrit更改关联的方式,
您可以选择要相互比较的更改版本

默认行为是将基本提交(集合中的第一次提交)与最新提交进行比较

在本地(git-)分支中,您还可以看到更改的不同版本
通过使用
git reflog
命令

git reflog
像面包屑一样显示您的工作历史,

您甚至可以
显示
樱桃选择
任何这些修订版)

如果所有修订版都有相同的
更改Id
,那么它们都是一个更改的补丁集。您在问题中没有指定如何显示差异,所以这里有一个可能的解决方案

ssh -p <port> <username>@<gerrithost> gerrit query commit:<commit-id> --patch-sets --format=json
这些是Gerrit为推送到
refs/for
目标的每个提交创建的引用。如果您知道编号
812290
,可以使用
change:812290
替换
Gerrit查询中的
commit:
。在本地存储库中获取这些引用:

git fetch origin refs/changes/90/812290/3
这些引用指向的提交将被下载,然后您可以运行git命令来处理它们

git diff commit1 commit2
您可以在gerrit的文档中搜索
gerrit query
以了解更多信息。

使用
$git log--reflog
,就好像reflogs提到的所有对象在命令行上都列为
commit

git diff commit1 commit2