首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何进行git日志修改

如何进行git日志修改
EN

Stack Overflow用户
提问于 2017-11-14 16:02:28
回答 4查看 1.2K关注 0票数 2

基本上,我知道要查看过去的git提交,您可以做git日志。但在我的公司,我们和格瑞特一起做了一次承诺,而你对此承诺做出了修改。我如何看待过去对该特定提交的所有修改,所以我看到了它们的每个提交消息,并且我可以在修改之间进行区分?谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-11-17 07:53:19

如果所有的修改都有相同的Change-Id,那么这些都是一个更改的补丁集。您没有在问题中指定diff是如何显示的,因此以下是可能的解决方案之一。

代码语言:javascript
复制
ssh -p <port> <username>@<gerrithost> gerrit query commit:<commit-id> --patch-sets --format=json
  • 默认情况下,port为29418;
  • username是运行gerrit query的gerrit用户名。应对阅览资料库参考文献的权利进行评估;
  • gerrithost是您gerrit的主机名或IP地址;
  • commit-id是commit的sha1值。
  • --format=json是可选的。默认格式是text

输出包括有关更改的修补程序集的详细信息,包括如下条目:

代码语言:javascript
复制
ref: refs/changes/90/812290/3
ref: refs/changes/90/812290/2
ref: refs/changes/90/812290/1

这些是Gerrit为每个被推送到refs/for目的地的提交创建的参考资料。如果您知道数字812290,您可以使用change:812290替换gerrit query中的commit:<commit-id>。在本地存储库中获取这些参考资料:

代码语言:javascript
复制
git fetch origin refs/changes/90/812290/3

这些参考文件所指向的提交将被下载,然后您可以运行git命令来任意操作它们。

代码语言:javascript
复制
git diff commit1 commit2

您可以在Gerrit的文档中搜索gerrit query以了解更多信息。

票数 3
EN

Stack Overflow用户

发布于 2017-11-14 16:19:20

简短的回答,那是不可能的。

来自亚特兰西安的Git教程

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

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

作为另一种选择,您可以将所有更改作为单独的提交来应用,并且在完成评审后,可以使用果汁 (第一部分:压缩提交)使用交互重基应用它们。

票数 0
EN

Stack Overflow用户

发布于 2017-11-14 23:51:06

假设所有“修正”都有相同的更改-ID,

(这就是Gerrit将一组提交与同一Gerrit-更改相关联的方式,

您可以选择要与彼此进行比较的更改的版本。

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

在本地(git-)分支中,还可以看到更改的不同版本。

通过使用git reflog命令。

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

您甚至可以使用showcherry-pick来修改这些版本)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47290177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档