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

git - 在 git 中提交而不改变责备/作者

首先,我将从一个非常相似的问题开始,并将其标记为不重复:

Git 提交不会覆盖 git blame 中的原始作者

这与我想做的事情非常相似,但并没有完全告诉我我需要知道什么。

我一直在我的团队 (PHPStorm) 中配置 IDE 以包含代码样式,以便我们可以自动处理它。我想在我们的整个项目中运行代码样式器,提交它并保留每一行的原始作者。我在上面提供的问题中给出的解决方案似乎非常接近我想要的,除了它依赖于同时运行一些文件或命令来进行更改。理想情况下,我想手动进行更改(即让 IDE 进行所有更改),然后在不更改任何原始作者/责任的情况下提交更改。

我真的不想编写自己的语法解析器,因为这似乎是一项漫长的努力,不幸的是,我对 git 更复杂的功能并不十分熟悉,也不知道如何去做。

0 投票
1 回答
476 浏览

sonarqube - 在声纳中看不到基于行的 SCM 责备信息

我目前正在尝试最新(5.1.2)SonarQube 中的 SCM 归咎功能。我的问题是检索到的责备只显示整个文件的最新提交。这意味着一个用户负责整个文件。根据文档,应该可以让 SCM 信息基于行 - 每行都有提交 ID、日期和用户。

在此处输入图像描述

我们将 Perforce 用于 SCM。

在 TeamCity 中,它被设置为带有流动参数的 maven 构建步骤:

我是否需要调整一些东西或者这可能是 SonarQube 中的错误?

0 投票
1 回答
826 浏览

git - GIT Diff 与责备或来源 SHA

我们觉得我们做得很好,或者在合并到 master 之前审查了每个提交。

但是,当我们准备好发布新软件时,我通常会再进行一次审查。我将最后一个生产版本与当前生产候选版本进行比较。

当我滚动浏览代码时,我正在寻找一种简单的方法,以便当我发现一些可疑的东西来隔离添加此行的单个更改时。目前,我使用带有“git blame”的第二个窗口,然后继续。当我看到一些有趣的东西时,我会从 git blame 产生一个新的差异。

有没有更好的方法可以不用到处乱跳?我正在使用带有 winmerge 的 tortoisegit 来使显示效果更好,但没有与这些工具中的任何一个结合使用

0 投票
1 回答
533 浏览

git - git:如何在不接管“责备”的情况下解决合并冲突

对于我的 github 存档,我收到了一个 pull request,我想在合并之前先对其进行测试,因此使用了 github 推荐的命令行命令(contrib1 代表贡献者的用户名,patch1 代表 pull request 的名称,repo 名称存储库的)

因为我事先做了一些更改,所以解决了一个(微不足道的)合并冲突,我通过编辑 file1. 该补丁还包括对其他文件file2的非冲突更改,...

然后我再次按照github的建议:

合并命令导致一条消息“已经是最新的”,然后我发现我忽略了先提交,所以基本上重复了这个过程:

同样,git merge --no-ff导致消息“已经是最新的”。存储库现在是正确的,但我认为自己是所有文件更改的发起者,而不仅仅是冲突的行,从将功劳分配给外部贡献者的角度来看,我觉得这是不好的。

问题是我下次应该使用什么命令序列来避免这种情况并确保补丁作者显示在责备或历史视图中?请注意,我并不关心更改上述补丁的历史记录,我只想为下一个补丁做正确的事。如果我没有犯忘记commit(显然是“本地”问题)的错误,很可能会出现同样的问题,但万一这很重要,我觉得我应该报告它。

0 投票
1 回答
89 浏览

git - Git:在 HEAD 中获取特定文件类型的用户名与行数

我想在此时为 python 文件测量开发分支尖端中每个开发人员的代码行数。我怎样才能做到这一点?

更像这样:将每个开发人员的计数器初始化为 0。对于项目中的每个 python 文件,归咎于每一行。增加相应显影剂的计数器。

我不希望整体添加删除数字。仅存在于分支的 HEAD 中。

0 投票
1 回答
442 浏览

java - JGit如何在提交之前责备文件?

上下文:我的合并遇到了冲突,我有一个像这个例子的文件:

Foo.txt(合并)

问题:为了让实际更改冲突行的开发人员,如何在提交之前归咎于结果文件(上图)?它适用于git blame Foo.txt

问题:我尝试执行以下操作,但责任null在循环内部。

0 投票
3 回答
3280 浏览

visual-studio - 如何责怪 VS 2015 中特定代码行的先前版本?

我正在使用带有 Git 集成的 Visual Studio 2015。我想要实现的是回到特定代码行的历史。

我知道有源代码管理>注释。但后来我只能看到最新的变化。然后,我可以右键单击注释槽上的行并说“注释此版本”,这将为我提供该特定行的最新更改。但从那里,如何让这条线回到历史?“注释此版本”显示为灰色...

0 投票
2 回答
1512 浏览

git - 使用 Intelliji 和 git 在注释模式下忽略空格/标识

git blame,在文件上,为每一行给出更新该行的最后一次提交。(如 IDE 上的注释操作)

git blame -w做同样的事情,但前提是提交不仅仅是缩进或空格。

我的问题是,如何在 intelliji 上使用注释来忽略空格?

如果我将 SVN 与 Intelliji 一起使用,则有一个选项,但我无法在 git 上找到它。

0 投票
1 回答
335 浏览

sonarqube - 基于线路的 SCM 责备信息存储在哪里?

我可以在 UI 中看到基于行的 SCM 责备信息,但它存储在哪里以及如何通过 Web API 检索?

我正在使用 Perforce 插件。

问题是 Perforce 插件从历史记录中找到了责备信息,因此如果用户在过去的分支中创建了债务,它仍然会在当前分支分析中显示在他的名字上。

Perforce 插件没有任何这样的方法来禁用查看当前分支之外的历史记录。

我需要找到另一种方法来查明,是否真的在这个分支中引入了债务。

0 投票
0 回答
474 浏览

java - 使用 JGit 责备时结果错误

当我运行以下示例代码时:

该文件的结果如下:

可以注意到,在责备结果中跳过了一些代码行。不仅方法getSourceLine(i)会跳过它们,还有其他方法,例如getSourceCommit(i)getSourceAuthor(i)。我在不同的文件和不同的存储库上尝试了相同的代码,结果总是不可预测的(如上所述)。

我的代码中是否存在故障,或者我得到的结果是否有解释?

PS:我的目标是计算每个修订版有多少行。因此,如果此失败是 JGit 中的错误,我将不胜感激在 java 中执行 git blame 的任何替代解决方案。