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

git - 显示自分支创建以来的提交

有没有办法只查看git log分支创建后添加的提交或其他命令?

0 投票
1 回答
1271 浏览

git - GIT 服务器的管理。跟踪存储库克隆的过程

如何在 GIT 服务器上跟踪存储库克隆的过程?我需要有关谁以及何时克隆了存储库的信息。此外,我在哪里可以找到有关创建了多少新存储库以及它们在服务器上是谁的信息?它需要进行统计。

0 投票
3 回答
3756 浏览

git - 在 git log 中使用路径通配符

我的 git 树深处有一个文件:

我想获得它的活动日志,而不必输入整个路径。基本上我想要这个输出:

...但无需键入sm/src/main/java/cl/utilities/sm. 我尝试了很多东西,但都没有奏效:

0 投票
3 回答
14409 浏览

git - git-log 和 git-whatchanged 的​​区别?

  1. 鉴于另一个问题的答案,并且
  2. 鉴于git-loggit-whatchanged的​​手册页都说他们从git-rev-list 中提取...

...那么这两个命令之间有什么区别?为什么要费心拥有他们两个?

0 投票
2 回答
6455 浏览

git - 列出影响文件的合并提交

我想找到影响或涉及给定文件的所有合并提交。

作为背景,有人在合并时错误解决了冲突,并且几天没有被团队注意到。那时,已经提交了许多其他不相关的合并(我们中的一些人一直更喜欢不使用 rebase,否则事情会更简单)。我需要找到“坏”的合并提交,以便检查它以确定其他可能已恢复的内容(当然,识别和惩罚有罪的人)。

场景是这样的:

...所以现在master和branch1中的a.txt发生了冲突的变化。

...换句话说,决议是“拿他们的”。该图现在看起来像这样:

此时错误版本的 a.txt 在 master 上。a1 中的版本是我们想要的,但 b1 版本已提交。到目前为止,我已经尝试过:

好的,所以 a1 和合并提交都没有出现。

这向我展示了两个分支上的所有内容,但仍然省略了合并提交。

这当然是“master not in a1 中的所有内容”,它在这个玩具示例中有效,但在我的真实案例中,为我提供了最近完成的所有合并(并且没有迹象表明哪一个接触了 a.txt)。

我可以合理化 a1 从文件历史记录中的消失,因为合并选择忽略该更改(至少在 git 关心的意义上,我认为)。但是如何找到影响 a.txt 的所有合并提交?如果不手动检查所有候选合并提交,这甚至可能吗?

0 投票
4 回答
66473 浏览

git - Git:如何列出此分支上的提交而不是合并分支上的提交

假设您的 git 提交历史如下所示:

是否有可能只列出主、AF 上的提交?换句话说,如果提交是在合并的分支上,我不希望它显示。

0 投票
2 回答
3276 浏览

git - 将 Git Diff 限制为一个或多个函数?

*.py diff=python进去了.git/info/attributes。所以 Git 知道函数边界在哪里。git diff -W 甚至可以确保显示整个函数。

但是有没有办法将 git diff 的输出限制为一个特定的函数(或多个)?

(失败了,我想这是 awk ......)

编辑这也对git log和有用git rev-list:不要向我显示修改views.py的每个提交,向我显示修改其中某个函数的提交。(是的,在理想情况下,views.py 不会是一个 2000 行的庞然大物,经常被 8 个不同的开发人员修改......)

0 投票
1 回答
614 浏览

git - 列出修订 A 和 B 之间的关键 git 提交

我试图了解在 git 时空中相距一定距离的两个 git 提交之间的关系。他们都接触了同一段代码,但是其中一个的代码被移到了不同​​的文件中。

我想我想做的是:查看git log显示“关键”提交的简化版。最初,这将是修订版 A、修订版 B 以及它们的共同祖先。但是,当我确定其他相关提交时,我也希望能够以类似git log --graph格式的方式查看这些提交。

到目前为止的问题:

  1. git log --all A...B从 B 开始,显示了许多提交,我不确定它显示的最终提交的意义是什么。(不是A)
  2. 我想不出任何方法来过滤掉大量的提交。--simplify-by-decoration在其他情况下有帮助,但在这里没有帮助(例如,它不显示我指定的实际提交)。

对不起,如果这不清楚。在你看到之前,要解释那种有用的信息并不容易。

编辑

好的,我会尝试拼写出来。调用目标提交 a123 和 b234,c345 是我确定的另一个“关键提交”,d456 是共同祖先:

0 投票
1 回答
325 浏览

git - How can I show the name of branches on every commit in `git log`

In Gitk, showing a commit gives output like this:

Is there a way to get this kind of output in git log? Using git log --graph gives similar information, but in my repository with long-lived branches, it can take a lot of scrolling to find which branch a commit was on.

(A similar question to How can I show the name of branches in `git log`?)

0 投票
1 回答
45 浏览

git - 查看合并分支的历史

鉴于这样的历史:

  1. 在提交 a111 处创建新分支 foo
  2. 添加 3 次提交到 foo (b222, c333, d444)
  3. 将 foo 合并到 master (e555)

是否有一系列参数git log ... e555可以选择 b222 到 d444?(同样选择 a111 或 e555 也可以)。

(好吧,我想我可以自己回答)