问题标签 [git-blame]

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 回答
72 浏览

git - 如何在 Git 中获取一组文件的所有作者?

我想从 git blame/bash/awk 大师那里得到一些帮助。我想列出所有的人,他们出现在特定文件组中每个文件的 git blame 中。例子:

  • 文件 A 和 B;
  • git blame 将 John、Terry 和 Merry 列为 A 中各行的作者;
  • git blame 将 Jane 和 Mike 列为 B 中各行的作者;
  • 该命令将文件 A 和 B 作为输入文件并返回 Jane、John、Terry、Merry 和 Mike。

所以我的想法是这样的:

  • 我在树枝上完成了我的工作;
  • 执行该命令,该命令将与 master 相比在此分支上修改的所有文件作为输入,并返回这些文件中行的所有作者的列表。

这个想法是知道要对评论执行 ping 操作。

0 投票
1 回答
1177 浏览

git - 为什么 Annotate(blame) 的用户名与 IntelliJ IDEA 中提交的作者不同?

当我在 IntelliJ IDEA 中使用 git annotate 时,某些行的作者的用户名与此提交的作者姓名不同,如下图所示:

错误的作者

如您所见,fan.qp并不Qp相同,为什么会这样?

当我使用 bash 或 SourceTree 运行git blame时,这两个名称是相同的。
这是IDEA的错误吗?

0 投票
1 回答
258 浏览

git - 我怎样才能在特定的一行或多行上 git diff 文件?

是否可以要求git diff只检查文件中某些行的更改?就像我运行一样git diff some-file,我会看到很多变化......文件的不同部分,但如果我只想查看与文件的某一特定行相关的差异?还是只有几行?有类似 -L from 的东西git blame吗?

0 投票
1 回答
44 浏览

git - 如何在树中找到所有“活动”的 git 提交?

我想获取目录树的“活动” git 提交的快照,这意味着 git 提交确实是构建的一部分,而不是已被新提交完全取代的提交。

我可以通过git blame在每个文件上运行并以这种方式提取提交来做到这一点,但是在大型 repo 上它太慢了,不实用。

0 投票
2 回答
39 浏览

git - Git责备删除的部分

我需要知道谁以及何时使用 git 删除了源文件的某些部分。不幸的是,似乎 git blame 不会直接告诉我,因为在当前版本的文件中完全没有上述部分。有什么建议么 ?

0 投票
0 回答
22 浏览

git - 如何在 git 中继续指责

如果我git blame在文件上运行,它会列出每行提交,作者修改了特定行。但是我怎么能在这个责备之上责备呢,即我想看看谁在. 中的信息之前更改了这些行git blame。我怎样才能做到这一点?

0 投票
2 回答
98 浏览

git - 与 git-blame 命令一起使用时双点 (..) 的含义

有了一个初始存储库,我创建了一个Test.TXT文件并用以下内容填充它:

接下来,它被提交:

并进行Test.TXT了一些修改:

现在我很想知道自版本 1 以来对文件进行了哪些更改:

这种责备的输出让我有些意外。

首先,插入符号 (^) 在这里代表什么?责备文档将其称为边界标记(即,它标记文件的第一次提交)。但是,如果我输入HEAD(这是 的第二次提交Test.TXT)而不是3b173c2,我会再次得到^f315c22(在每一行中)。

因此,以这种方式使用 git blame 只会导致出现适合所选 SHA1 提交的文件版本,不是吗?它甚至没有显示之前提交的 SHA1(这样的结果可以通过使用不带两个点的责备来实现),也没有显示后续提交(我试图完成)。取而代之的是,我们可以看到键入的 SHA1 版本由插入符号表示。

任何人都可以解释使用此命令(带有双点)的原因是什么?

0 投票
1 回答
175 浏览

git - 提交后如何修复丢失 git blame 功能?(EOL 冲突)

我开始看到,在我的大学的一些提交中,他们更改了几行的文件被“标记”,就好像他们完全修改了它们一样。我们正在失去对这些文件使用 Git Blame 来查看“谁更改了哪一行”的可能性

我不知道他们在做什么“错误”来覆盖文件并使 Git 失去 Blame 的能力,这可能与变基有关吗?还是rebase -i压扁?,这是与 Git 版本相关的错误吗?,他们使用 Linux 而我使用 Windows 我在我们的 git 存储库(Assembla)上创建了一个辅助帐户并试图重现这个但我不能

提交之前,或以前的版本

after_commit

0 投票
0 回答
28 浏览

git - Git记录提交ID和先前日期之间的文件中的特定行?

path/to/file假设在具有特定 sha 的提交中提交了特定版本中的文件(及其路径) ,我们称之为hex_sha. 使用后,git blame file/to/path hex_sha我在该版本中修改了每一行。对于这个例子,我们假设检查带有 number line_i Supposing to have another prior date的行date_limit。我如何使用来获取文件中的行已从带有 sha 的修订版修改到特定日期git log的次数(或提交列表)?line_ipath/to/filehex_shadate_limit

我试过: git log --since=date_limit origin..hex_sha -- -Lline_i,+1:path/to/file和这个命令的其他不同安排,但没有任何反应,或者 git 错误地理解了文件名。我的印象是,--在存在目标修订后,git 将第一个参数--作为文件路径。我确定 date_limit 在考试提交之前。

0 投票
1 回答
99 浏览

git - 对 git blame 使用与其他命令相同的提交缩写长度

git blame命令显示的提交哈希缩写为比其他命令长一个字符的长度。例如:

我经常从输出中复制粘贴一个缩写哈希,blame并在日志或交互式 rebase 的提交集中搜索它。但是因为缩写在git blame输出中长了一个字符,所以我要记得删除最后一个字符,否则搜索什么都找不到。

对于脚本,我会使用未缩写的哈希和瓷器格式。但是对于交互式使用,我想使用缩写哈希。

设置core.abbrev选项没有帮助:git blame添加一个。使用一个更少的值设置core.abbrev和调用blame --abbrev,但这不是一个好的解决方案,因为我失去了 git 的启发式方法来确定短提交 id 的合适长度,我必须显式传递此选项或使用不同的命令名称作为别名。

我怎样才能使一个简单git blame的使用与其他 git 命令相同的缩写提交 ID 的长度?