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

git - 如何获取将行添加到文件的提交哈希,该文件已被 github 存储库中的当前提交删除

此处找到的拉取请求中,我们可以在文件中看到

/java/org/wso2/carbon/analytics/apim/internal/TemplateManagerInitializerComponent.java

38,39 和 40 行已被删除。现在我需要确定将这些行(已删除的 38,39 和 40 行)添加到文件中的提交哈希(散列),但此处显示的文件的责备视图不显示已删除行的历史记录。如何从 github 获取这些信息。提前致谢

0 投票
3 回答
11034 浏览

android - 如何在 android studio 中了解开发者代码责备

我正在开发由少数开发人员共享的项目,如何了解 android studio 中的开发人员责任?任何捷径或任何想法?这将帮助我们了解代码责任。

0 投票
3 回答
697 浏览

xcode - 不能 Git Blame 文件

我在两台不同的笔记本电脑上使用 Xcode 和这个 repo。在一台笔记本电脑上,在 Xcode 中,我可以选择版本编辑器窗格,它会向我显示每一行的责任信息,例如提交者和提交时间。但是,在另一台笔记本电脑上,我总是收到错误消息could not blame {file}. Error: fatal: no such ref: HEAD

我不确定这意味着什么或如何解决它。正如我经常拉的那样,repo 应该都非常相似(除非 gitignore 差异或其他东西)。因此,我不确定一台笔记本电脑上的 .git 文件夹中是否存在细微差别。我知道 HEAD 是对某个提交的引用,但除此之外我不确定如何解决这个问题。

0 投票
0 回答
326 浏览

git - 当一条线来自两个分支时 git blame

git-blame如何将来自 2 个不同修订版的行归咎于合并的 2 个分支?

语境

我正在使用 git-svn 并且我厌倦了看到责备的行,这些行仅指向没有执行真正合并的“合并”修订。我想看看如果我用 commit-tree 破解修订版会发生什么,以便我可以强制合并成为真正的合并(我们暂时不考虑 git-svn 的特性,让我们认为这是一个纯粹的 git 问题)。我试图责怪一个文件,看看现在 git 是否能够看到该行的真正来源(由于提交树现在包含“真正的”父级之后),但我仍然得到相同的输出,就好像没有合并的另一个分支。

提前致谢。

0 投票
1 回答
365 浏览

git - 如何在git中找到所有更改行的先前作者?

给定一系列提交,比如HEAD~1and HEAD(即, just HEAD),我想找到在该范围内更改的行的先前作者以及他们更改了多少行。

更准确地说:对于范围内更改的每一行,我想获取以前的作者(git blame例如,使用 )。然后我想按这些作者总结更改的行进行分组。

例如,考虑这些人之前更改的文件 X HEAD(我在行首标记了更改行的人,与git blame的输出相当):

现在,作者Carl将文件更改如下(请注意,这是git blame和的伪代码混合git diff):

所以 Carl 改了 Bob 的 2 行,删除了 Bob 的 1 行,改了 Adam 的 1 行。因此,我的脚本的输出应该是:

鲍勃:3 亚当:1

我的整体解决方案是:

  1. 查找更改的行范围
  2. 将这些范围与-L参数一起传递git blame给以查询以前的作者
  3. 通过解析git blames 输出并总结自己进行最后的分组。

我目前正在努力解决 1.: 获取由 diff 更改的行范围(在本例中为一个范围 3,6)。一旦我有了这些范围,我可以将它们传递给git blame -L这些行的以前的作者。那么如何使git diff或其他 git 工具将行范围作为数字start,end对返回?

0 投票
1 回答
674 浏览

git - 如何通过保留作者来复制行

我有一个包含很多行的文件,并希望通过将其拆分为多个文件来重构它。git blame通过简单地复制/粘贴,我将在ing时丢失已提交行及其作者的历史记录。有没有办法复制/粘贴这些行并保留他们的作者?

0 投票
1 回答
240 浏览

sonarqube - 少数 SonarQube 项目中未显示责任信息

我们使用 SonarQube 5.6.3 版和 GitLab 进行版本控制。在某些项目中,责备条目不显示在 SonarQube 项目中,而在其余项目中显示。项目设置似乎没有区别,日志中也没有任何线索。此功能内置于 SonarQube 版本中。

我们如何让 SonarQube 显示所有项目的责备信息?

0 投票
1 回答
203 浏览

xcode - 有没有办法对 Xcode 中的资产文件进行 git 指责?

我正在尝试在 Xcode 中跟踪 assets.xcassets 文件中的差异,但我找不到 git blame 的方法。

0 投票
1 回答
143 浏览

git - 说服 git blame 一个分支比另一个分支与历史更相关

我喜欢git blame用作文档的次要形式。检查提交的原因以及提交的时间和人员非常有用。

但有时特定线路的历史会丢失。可能发生这种情况的一些情况:

  • 进行了更改,但随后又恢复了。

  • 有人重新缩进文件并提交它。稍后,标准缩进被恢复并提交。

  • 有人将文件复制到没有历史记录的新分支/存储库中。我仍然在分支中保留原始历史记录,我想将其合并到新分支中。

在所有这些情况下git blame都会显示文件的最新更改,这通常不是很有用。例如“恢复缩进”或“恢复提交 #123”或“初始提交:所有文件”。

有什么方法可以暗示git blame我们对旧历史比对新历史更感兴趣?

情况如下:

  • 提交 A 对文件中的所有行都有很好的注释。
  • 提交 B 重新缩进了整个文件。
  • 提交 C(可能是还原)将文件恢复到提交 A 中的状态。

我想知道我们是否可以与优先父级执行神奇的 git 合并:

  • 提交 D 告诉 git A 是git blame要遵循的优先历史记录。

我认为可以接受的另一种可能性:

  • 提交 E 是一个新的空分支。
  • 提交 F 仅添加关注的文件。
  • 提交 D 合并了两个历史,使 F 成为历史的优先级。

我希望让这永远成为历史的一部分。git blame在搜索历史时,我对传递额外的选项并不感兴趣。

0 投票
0 回答
123 浏览

git - 在 git / GitHub 中跟踪修订之间的特定代码行

当一行代码被提交到 git 存储库时,它的行号可能会在未来的提交中发生变化,通过在它上面添加或删除代码,而基本上仍然是同一行。

给定一个code-snippet 的永久链接,是否有一个 API 可以回答这个问题:这些代码行是否存在于 git-revision #12345abc 中,如果存在,它们的行号是什么(和文件名,因为我假设文件可以重命名)?

感觉这与 相关git blame,但不完全相关。