问题标签 [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.
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 show
和git diff
解决提交有什么区别(如果有的话)?
我给出的当前理论是有限的 git 知识:似乎这些更改不是任何提交的一部分,而是以某种方式进入了树中,HEAD@{2}
因此diff
在它遍历对象树时显示了更改,但show
没有看到它们,因为它们不是一部分的一次提交。这有任何意义还是我离谱?
无论哪种方式,感谢您提供的任何帮助!
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
包含合并差异信息的漂亮摘要呢?
git - Git 显示整个文件的变化
有没有办法让git show
命令在查看提交时显示文件的全部内容?例如:如果它当前显示类似
我希望输出说:
有没有一种简单的方法可以做到这一点?
regex - 如何使用 sed 匹配除第一个匹配项之外的所有匹配项?
我正在使用特定模式在 Git 中处理我的提交消息,以简化为新版本创建变更日志(https://stackoverflow.com/a/5151123/520162)。
应纳入我的变更日志的每个更改都以CHG
,NEW
或为前缀FIX
。
在生成我的变更日志时,我打印出我要为每个版本使用以下命令解析的版本:
主题 ( %s
) 包含修改的主题。
接下来,我使用 SED 修改生成的输出,以使其符合我的变更日志文件的需要。
现在,碰巧在主题行中,多次出现CHG
,NEW
或FIX
。我的主题输出如下所示:
我想在我的关键字的第一次出现之前添加一个换行符,以便每个CHG
,NEW
或FIX
开始一个新行:
为了实现这一目标,我必须告诉 SED 什么?
git - 如何让“git show”以完整的上下文显示差异?
我正在审查一个非常古老的提交。我想查看特定提交所做的更改,但我想在完整的上下文中查看它,即我想查看整个文件以及该人所做的更改。以下命令,
没有向我展示完整的上下文。有什么建议吗?
git - 显示提交 ID 时 git show 和 git log 之间的区别
我需要获取两个已知提交之间的提交 ID 列表。我使用了以下命令:
在合并提交之前,它可以完美运行。IE:
输出如下:
当我更改show
命令并log
改用:
请注意,第一次提交后没有空行。我并不热衷于使用git show
over git log
- 我什至不记得我从哪里得到这个想法。但是这个多余的空行导致我的程序失败,我想知道它是否有什么特殊含义。
Git 版本 1.9.5。
git - git show -- 输出只显示摘要
我在使用所有显示存储库日志/历史记录的 git 命令时遇到问题。此问题仅限于我的一个存储库。我还有其他几个工作得很好。
对于有问题的仓库,我只看到提交的摘要,其中默认行为也是显示差异。
同样,git diff-tree命令适用于除此之外的所有 repos。
正常回购:
回购有问题:
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
?
git - 吉特秀并获取文件子集的差异
我正在寻找一种解决方案来获得使用git show <commit>
命令提交的不同之处。
通常我会做:
正如预期的那样,我得到了在给定提交中修改的所有文件的所有差异。
现在我在重构后有一个大提交(许多文件已更改/移动),我只需要知道xml
在此提交中递归地在所有文件中更改了什么。我有很多 .java、.xsl、.properties 文件,只有几个 .xml 文件。
我尝试了以下命令但没有成功:
我用 command 尝试了相同的选项git diff <commit>
。
我在 Linux CentOS(bash 终端)下使用 Git 版本 1.8.4。
你知道这样的过滤器是否可以用 git (也许是另一个命令)