问题标签 [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 投票
2 回答
1267 浏览

git - msysGit:为什么 git log 输出空行?

我在终端窗口底部键入命令越近,似乎插入的空行就越少。如果我在终端窗口的顶部键入它,它会插入几乎整个窗口高度的空白行;如果我在最底部键入它,则不会插入空行。

看起来寻呼机程序正在将输出推送到终端窗口的底部,但我希望输出位于我的命令正下方或顶部,就像在 Linux git 中一样。

我可以通过使用来获得预期的行为git --no-pager log,但是如果我想使用寻呼机怎么办?

0 投票
5 回答
25324 浏览

git - 如何仅显示自 Git 中的标签以来的名称和提交标题?

我正在尝试在 Git 中使用标签进行版本管理——我为每个版本创建一个标签。我希望能够通过列出自一个标签或两个标签之间的每个提交的评论标题来创建发行说明。我似乎找不到任何方法来做到这一点。

0 投票
2 回答
814 浏览

git - 如何使用 `git-log -p 创建补丁文件` 被应用到创建包含的所有提交?

背景:这个问题git apply <patchfile>只是重新创建文件但不提交历史记录,在这种情况下这是可取的。有什么开关git-apply可以这样做吗?或者有没有办法将补丁文件转换为git-am兼容文件?(目前,git-am 报错“补丁格式检测失败”)

0 投票
1 回答
24818 浏览

git - 为什么“git log -‌- foo”对已删除的文件 foo 不起作用?

我的存储库进行了更改,例如:

  1. ...一些不相关的提交...
  2. 提交foo包含 100 行内容的新文件
  3. ...干预提交,其中一些涉及foo...
  4. foo在现有文件的顶部bargit rm foo同一个提交中插入 的内容
  5. ...更多不相关的提交...

现在我想查看已删除文件的日志foo。我读过的所有内容,包括关于 SO 的内容,都说我应该能够git log -- foo,但是该命令不会产生任何输出。

如果我找到包含删除的提交,foo我可以git log 1234abcd -- foo看到它的日志,所以我认为我的路径foo不是问题。还要注意git merge-base HEAD 1234abcd输出1234abcd[...],所以我认为应该证明提交可以从HEAD. foo请注意,我的工作树中没有文件(很明显,因为它已被删除)。在 OS X 上使用 Git 1.7.1.1。

为什么git log -- foo对我不起作用,我该如何解决?谢谢!

0 投票
4 回答
151 浏览

git - 搜索引用给定对象的提交

我的系统上安装了一个文件,该文件已知是 git repo 的一部分。我想找出哪个提交(重新)引入了该文件的该版本,即哪个提交负责将文件置于当前状态。

我知道该文件在存储库中,因为git show $(git hash-object $the_file)有效。

在这一点上,我真的不需要这个示例问题的解决方案,我只是希望更多地了解如何导航 git 的数据结构。

0 投票
4 回答
96540 浏览

git - 单个修订的 git 日志

我有一个提交 c。我想获得那个确切的提交 c + 元信息的变更集,而不是其他的。有没有比git log -p c^..c这样做更简单的方法?

0 投票
16 回答
650298 浏览

git - 如何查看仅包含一个用户提交的 git 日志?

使用时git log,如何按用户过滤,以便只看到该用户的提交?

0 投票
4 回答
45472 浏览

git - 为什么 git log 可能不显示移动文件的历史记录,我该怎么办?

我已经使用git mv, used重命名了几个文件,git stash快速查看了 HEAD (不更改它),然后又git stash pop恢复了整个文件。我的动作已经从提交列表中消失了,所以我重做了它们,git rm提交消息声称 git 发现重命名是重命名。所以我没有再想了。

但是现在,提交后,我无法了解移动文件的历史!以下是 git 关于提交的内容:

我现在正在尝试获取其中一个移动文件的历史记录,以便查看旧版本,但没有得到任何有用的信息:

(我也试过没有-M,-C--find-copies-harder,但无济于事。)

我可以在它的旧名称下获取它的历史记录,它在它从旧位置被删除时停止:

所以这次我并没有完全陷入困境,但我不想一直做这种事情。(我预计会有相当数量的文件在其生命中至少移动一次。)

难道我做错了什么?文件的旧副本和新副本 98.8% 相同(166 行中有 2 行更改)。我的理解是在这种情况下 git 应该能够跟踪文件,因为它推断重命名操作而不是显式存储它们,并且文件足够相似,我相信它应该认为它们是相同的。

我能做些什么来解决这个问题吗?

0 投票
3 回答
25974 浏览

git - 在 Git 日志中仅显示一个分支的历史记录

我在我的项目中使用 Git 并尝试遵循最佳实践:

  1. 我在一个主题分支上工作
  2. 准备好后,我将主题分支合并到我的开发分支中,使用git merge --squash. 这使我的开发分支保持清洁。
  3. 每当dev分支稳定并且团队决定是时候发布时,我们将dev分支合并到master分支,而不使用 squash,并将该提交标记为版本发布。

这应该保留我们的历史记录,并且使用 gitk,我们可以看到所有提交的来源。但是,我希望能够看到应用于分支的提交。我试过了:

这些都没有显示分支历史。有没有办法轻松做到这一点?

0 投票
9 回答
374048 浏览

git - 如何运行 git log 以仅查看特定分支的更改?

我有一个本地分支跟踪远程/主分支。运行git-pulland后git-log,日志将显示远程跟踪分支以及当前分支中的所有提交。但是,由于对远程分支进行了如此多的更改,我只需要查看对当前本地分支所做的提交。

用于仅显示特定分支的提交的 Git 命令是什么?

笔记:

配置信息: