【 git 】有一行代码出了问题,怎样查找是谁干的?

在git里,如果你想查看某行代码的提交历史,可以使用下面这个命令:

git log -L110,110:/lib/client.js

来源:https://stackoverflow.com/a/27108677/3054511

查找代码第一次提交

要查找一行代码是什么时候提交的,因为那个提交修改有问题,要看一下当时都改了什么内容。可以使用这个命令:

git blame -L 229,+1 -- wwzwallNew.rb

这就是查找当前版本wwzwallNew.rb文件第229行代码是什么时候加入的。输出结果可以看到提交id,时间,作者:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 Java 代码示例,可以快速扫描 Git 仓库代码查找是否包含某些特定的注解: ``` import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; public class AnnotationScanner { public static void main(String[] args) throws IOException { String rootDirectory = "/path/to/git/repository"; // Git 仓库根目录路径 List<String> annotations = new ArrayList<>(); annotations.add("@Deprecated"); // 要查找的注解 scanDirectory(rootDirectory, annotations); } private static void scanDirectory(String directory, List<String> annotations) throws IOException { File dir = new File(directory); File[] files = dir.listFiles(); for (File file : files) { if (file.isDirectory()) { scanDirectory(file.getAbsolutePath(), annotations); } else if (file.getName().endsWith(".java")) { List<String> lines = Files.readAllLines(Path.of(file.getAbsolutePath()), StandardCharsets.UTF_8); for (String line : lines) { for (String annotation : annotations) { if (line.contains(annotation)) { System.out.println("Found annotation " + annotation + " in file " + file.getAbsolutePath()); break; } } } } } } } ``` 该示例代码定义了一个 `AnnotationScanner` 类,其包含一个 `scanDirectory` 方法,用于递归扫描指定目录下的所有 Java 文件,查找是否包含给定的注解。 在 `main` 方法,我们可以指定要扫描的 Git 仓库根目录路径,以及要查找的注解列表。然后调用 `scanDirectory` 方法开始扫描。 在 `scanDirectory` 方法,它首先判断当前文件是否为目录,如果是目录则递归调用自身扫描子目录。如果是 Java 文件,则读取文件内容并逐行查找是否包含给定的注解。 如果找到了注解,则输文件路径和注解名称。 注意:该示例只是一个简单的演示,实际应用需要考虑更多的情况,比如注解可能会被多行注释包裹,需要考虑跨行匹配等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值