问题标签 [git-show]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
557 浏览

git - Git diff 显示不在提交中的更改

我们的开发分支发生了一些事情,以至于发布分支中的很多代码都被合并到其中。我试图追踪这些变化发生在哪里,但我得到了一些非常令人费解的结果。当我运行git diff HEAD@{2}它时,它会显示一个更改列表,其中包括许多几个月内未触及的文件,这意味着HEAD@{2}在我看来,这是带来了错误代码的提交。但是,如果我运行git show HEAD@{2}它会显示一个相当无害的提交,它只涉及两个文件。此外,当我运行git reset --hard HEAD@{2}它时,它似乎解决了问题并在我尝试了两次重置然后用git reset --hard origin/dev它撤消它之后消除了所有奇怪之处,现在看来,所有额外代码的提交都在HEAD@{1}.

我似乎无法对此做出正面或反面,因此欢迎任何建议/指针/提示或技巧,但一些令我困惑的直接问题是:如果没有合并,这段代码如何进入分支犯罪?如果有人从生产分支中挑选了一个提交到开发分支,这可能与此有关吗?如何git showgit diff解决提交有什么区别(如果有的话)?

我给出的当前理论是有限的 git 知识:似乎这些更改不是任何提交的一部分,而是以某种方式进入了树中,HEAD@{2}因此diff在它遍历对象树时显示了更改,但show没有看到它们,因为它们不是一部分的一次提交。这有任何意义还是我离谱?

无论哪种方式,感谢您提供的任何帮助!

0 投票
1 回答
112 浏览

git - 为什么'git show'空着回来?

我正在尝试从回购中获取(统计)提交信息。因此,我做了:

$ git clone remote/path/to/repo localrepo && cd localrepo
$ git pull
$ git show --since 'Oct-03-2014' --until 'Oct-13-2014' --shortstat

一般来说,如果在那个时间段内有提交在origin/master分支上(我目前正在),上面命令的最后一行将产生我想要的漂亮的摘要输出。

问题是时间段是否包含来自不同分支的合并。对于那些,git 不会产生任何类型的输出(显然合并不包含可以显示的差异)。

那么如何获得--shortstat包含合并差异信息的漂亮摘要呢?

0 投票
2 回答
3130 浏览

git - Git 显示整个文件的变化

有没有办法让git show命令在查看提交时显示文件的全部内容?例如:如果它当前显示类似

我希望输出说:

有没有一种简单的方法可以做到这一点?

0 投票
4 回答
61 浏览

regex - 如何使用 sed 匹配除第一个匹配项之外的所有匹配项?

我正在使用特定模式在 Git 中处理我的提交消息,以简化为新版本创建变更日志(https://stackoverflow.com/a/5151123/520162)。

应纳入我的变更日志的每个更改都以CHG,NEW或为前缀FIX

在生成我的变更日志时,我打印出我要为每个版本使用以下命令解析的版本:

主题 ( %s) 包含修改的主题。

接下来,我使用 SED 修改生成的输出,以使其符合我的变更日志文件的需要。

现在,碰巧在主题行中,多次出现CHG,NEWFIX。我的主题输出如下所示:

我想在我的关键字的第一次出现之前添加一个换行符,以便每个CHG,NEWFIX开始一个新行:

为了实现这一目标,我必须告诉 SED 什么?

0 投票
2 回答
1422 浏览

git - 如何让“git show”以完整的上下文显示差异?

我正在审查一个非常古老的提交。我想查看特定提交所做的更改,但我想在完整的上下文中查看它,即我想查看整个文件以及该人所做的更改。以下命令,

没有向我展示完整的上下文。有什么建议吗?

0 投票
2 回答
1484 浏览

git - 显示提交 ID 时 git show 和 git log 之间的区别

我需要获取两个已知提交之间的提交 ID 列表。我使用了以下命令:

在合并提交之前,它可以完美运行。IE:

输出如下:

当我更改show命令并log改用:

请注意,第一次提交后没有空行。我并不热衷于使用git showover git log- 我什至不记得我从哪里得到这个想法。但是这个多余的空行导致我的程序失败,我想知道它是否有什么特殊含义。

Git 版本 1.9.5。

0 投票
2 回答
62 浏览

git - 保存 Git Show 的彩色输出

有没有办法保存git show的彩色输出?

我看到了关于使用其他编辑器的帖子。但这比我想要做的要多得多。我只想捕捉一个视觉上易于阅读的报告。

0 投票
2 回答
1666 浏览

git - git show -- 输出只显示摘要

我在使用所有显示存储库日志/历史记录的 git 命令时遇到问题。此问题仅限于我的一个存储库。我还有其他几个工作得很好。

对于有问题的仓库,我只看到提交的摘要,其中默认行为也是显示差异。

同样,git diff-tree命令适用于除此之外的所有 repos。

正常回购:

回购有问题:

0 投票
1 回答
869 浏览

python - git show 不适用于 python check_output

我正在编写一个 python 脚本,我必须git show从脚本中读取命令的输出。我决定使用python的subprocess.check_output功能。

但它给了我No such file or directory错误。

从 python 运行

直接运行

有一点要指出风格的git show输出,vi即不是直接打印完整的文件,而是打印文件的一部分以覆盖完整的碎石,:最后用 a 打印下一行或退出。

为什么我在使用时出现错误check_output

0 投票
1 回答
565 浏览

git - 吉特秀并获取文件子集的差异

我正在寻找一种解决方案来获得使用git show <commit>命令提交的不同之处。

通常我会做:

正如预期的那样,我得到了在给定提交中修改的所有文件的所有差异。

现在我在重构后有一个大提交(许多文件已更改/移动),我只需要知道xml在此提交中递归地在所有文件中更改了什么。我有很多 .java、.xsl、.properties 文件,只有几个 .xml 文件。

我尝试了以下命令但没有成功:

我用 command 尝试了相同的选项git diff <commit>

我在 Linux CentOS(bash 终端)下使用 Git 版本 1.8.4。

你知道这样的过滤器是否可以用 git (也许是另一个命令)