问题标签 [git-log]

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 投票
8 回答
28808 浏览

git - 列出 git 标签名称、日期和消息

如何列出所有标签的标签名称、标签日期和标签消息?

似乎 git 将提交通过git log和标签通过的显示逻辑分离,git tag使得很难列出标签名称、标签的日期和标签消息。

我可以使用显示标签日期、名称和提交消息git log --tags --show-notes --simplify-by-decoration --pretty="format:%ai %d %s"

我检查了http://opensource.apple.com/source/Git/Git-26/src/git-htmldocs/pretty-formats.txt但没有看到任何显示标签消息的选项。

我可以使用显示标签名称和 5 行标签消息git tag -n5

但是要获得所有这三个信息似乎需要超出我能力范围的粗糙脚本。

0 投票
1 回答
149 浏览

git - 对于git log,--follow 和--find-renames 选项的区别

假设我只需要处理一个文件。从 git-log 手册页看来,我应该使用 --follow。让我困惑的是,对于--find-renames,我可以在相似度索引上指定阈值,而--follow 没有这样的阈值。

我的问题是为什么我不需要为 --follow 指定阈值来查找重命名?

谢谢

0 投票
1 回答
269 浏览

git - git log --follow 是否适用于多个分支?

我最近看到一些很奇怪的东西。假设我有三个分支。他们都有一个名为 A 的文件。A 然后在三个分支中独立地重命名为 B。然后将三个分支合并为一个。如果现在我使用

我想我应该看到关于重命名的三个提交

但我实际上看到的是关于从 A 重命名为 B 的提交,其他两个正在删除 A

在我看来, --follow 忽略了分支。它只是线性地跟踪日志,而不是对不同的分支进行不同的处理。

这里会发生什么?有什么办法可以避免这个问题吗?

谢谢

0 投票
3 回答
364 浏览

git - Git合并分支的最后一次提交/提交者

可能已经有人问过了,但我在这里找不到。

我有一个分支FEATURE合并到一个分支中STABLE,目前当我git showSTABLE获得最后一次提交时

无法弄清楚FEATURE在合并到分支之前如何找到最后一次提交对分支的更改的人STABLE

这是向最后提交一些更改的提交者发送通知所必需的。

让我知道是否需要任何进一步的信息以及任何帮助/建议将不胜感激?

0 投票
3 回答
506 浏览

git - 未推送提交的别名,无论我在哪个分支上?

我有一个看起来像这样的 git 别名:

当我在主人时,这非常适合显示“未推动”的变化。但是,当我在分支上时,这个别名并不能真正正常工作。

无论我是否在分支上,正确的命令是显示未推送的更改?

0 投票
3 回答
878 浏览

regex - 带有正则表达式的 Git 日志统计信息

我想在我的 git log 上做一些统计数据,以获得类似:

第一列是提交计数,第二列是提交者。我已经做到了这一点:

有趣的部分是

我想用一个很好的正则表达式进行修改以排除邮件地址。使用 Rubular 之类的http://rubular.com/r/mEzP2hFjGb可以工作,但如果我将它插入 grep (或通过管道插入的另一个),它不会让我得到正确的输出。

附带问题:在保持这种管道命令样式的同时,是否有可能让计数和作者被其他东西隔开,然后是空格?我希望稍后在我们的专栏之间有一个更好的分隔符(也许还有一些颜色^^)

非常感谢你的帮助!

0 投票
2 回答
4602 浏览

git - 如何显示过去 24 小时内推送的 git 更改?

我熟悉显示过去 24 小时内(提交到作者本地存储库)的更改git log --since="24 hours ago"的语法。

我们有一个开发人员团队,他们不断地在本地提交,然后每两天左右才推送一次这些更改。如果这是真的,那么git log --since="24 hours ago"将永远不会列出这些更改。(我们将其用于每晚的摘要电子邮件)

我真正希望看到的是:在过去 24 小时内推送到 master 的更改,并且能够做到这一点,而无需手动记住我们的摘要脚本上次运行的提交哈希。

0 投票
3 回答
32455 浏览

git - 删除/删除行时如何查找提交?

我的 Git 存储库中的文件中有一个已删除的行。我知道一些丢失的文本,以及它所在的文件,所以我使用了git log -S'missingtext' /path/to/file.

但是,唯一回来的是我在其中添加了包含缺失文本的行的提交。该文本不存在于 HEAD 中,并且添加它的提交存在于我的分支中,因此我知道我的分支历史记录中的一个提交必须已将其删除,但它没有出现。

经过一些手动搜索,结果发现该行在解决合并冲突时被意外删除。所以我想知道:

  1. 这就是镐找不到删除该行的提交的原因吗?
  2. 如果不手动挖掘历史记录,我怎么能找到删除“missingtext”的位置?

对#1 的任何见解都会很棒(我认为这git log -S会给我答案),但我真正的问题是#2,因为我希望将来能够避免这种情况。

0 投票
2 回答
16962 浏览

git - 查看未推送到远程的本地提交的 git 更改/差异

我在Git本地提交了三个提交,但还没有推送到 GitHub。我想查看所有三个提交的更改/差异,如何查看所有差异?

我试过了:git log --branches --not --remotes

这向我展示了三个提交,但不是每个提交的所有差异/更改。

谢谢您的帮助。

0 投票
3 回答
2983 浏览

git - 如何让 'git log --oneline' 显示哪些提交消息是多行的

我发现自己git log --oneline经常做快速浏览我将要推送到远程或远程合并的更改。是否可以附加一些标识符(例如“[...]”)以将该提交消息标记为多行消息,以便我知道那里有更多信息?

基本上,我想要的是: