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