Git - 查看已更改的文件,即使更改已被删除。

7 浏览
0 Comments

Git - 查看已更改的文件,即使更改已被删除。

我有一个包含近千个文件的代码库。我正在一个本地分支上工作,有一些未提交的更改。今天早些时候,我在一个文件中添加了一个error_log语句,返回了一个非常有用的信息。我以为这件事已经完成了,所以删除了日志,使得文件在git看来恢复到了“未更改”的状态。现在我需要把日志再放回去,但我怎么也记不起来它是属于哪个文件或函数的了。\n有没有什么git命令可以显示给我一个文件列表,这些文件已经被更改过,即使这些更改已经被撤销了?

0
0 Comments

Git - 查看已更改的文件,即使更改已被删除

在使用Git管理代码时,有时候我们可能会需要查看之前已经更改过的文件,即使这些更改已经被撤销或删除了。本文将介绍如何找回这些已删除的更改,并提供了两种解决方法。

如果你在任何时间点将error_log这行代码提交到了仓库中,那么这行代码的存在仍然保留在你的历史记录中。你可以通过多种方式来找回它。最简单的方法是使用git log命令输出的patch信息,并假设输出结果被传递给less分页器。然后你可以按下/键,并输入一个用于匹配该行代码的正则表达式:

git log -p
# 在`less`中
/error_log

然后你可以使用n键在输出结果中搜索下一个匹配项,或者使用N键返回到上一个匹配项。

另一种查找这行代码存在的方法(假设它已经被提交)是使用-S-G选项配合git log命令。前者按照固定字符串搜索文本的添加或删除,而后者使用正则表达式:

# 固定字符串
git log --name-status -S "error_log"
# 正则表达式
git log --name-status -G "error_log"

输出结果将是一个文件列表,这些文件在某个时间点上添加或删除了包含字符串error_log的行。

通过上述方法,我们可以方便地找回之前已经更改过的文件,即使这些更改已经被撤销或删除了。这对于代码审查、故障排查等情况下非常有用。

0
0 Comments

Git - 查看已更改的文件,即使已经删除更改的内容

问题的出现原因:

- 需要查看已更改的文件,即使已经删除更改的内容。

解决方法:

- 运行以下命令可以查看最近被修改的文件:find . -path './.git' -prune -o -type f -print -exec stat --format '%Y :%y %n' {} \; | sort -nr | cut -d: -f2- | head

- 当从仓库根目录运行时,该命令将显示最近被修改的文件。

0
0 Comments

问题的出现原因是在Git中无法直接查看已被更改的文件,即使这些更改已被撤销。在Windows操作系统中,由于文件分布在多个子文件夹中,无法通过排序整个代码库的修改日期来解决问题。

解决方法是使用Windows资源管理器的搜索功能。通过搜索文件,并包括子文件夹,在搜索结果的窗口中可以按照修改时间进行排序。这样就能找到已被更改的文件,即使这些更改已被撤销。

下面是完整的文章:

在Git中,我不认为有一种方法可以直接查看已被更改的文件,即使这些更改已被撤销。但是,我们可以按照修改的顺序递归地列出文件。在Linux中,可以使用以下命令:ls -ltrR。这样可以找到文件,虽然不是最理想的方法,但总比没有好。

不幸的是,我们使用的是Windows而不是Linux。而且,这些文件不在一个单独的文件夹中;有很多子文件夹,所以无法通过按修改日期对整个代码库进行排序。

不过,这种方法在Windows上同样适用。Windows资源管理器允许您搜索文件,包括子文件夹,并给出一个包含所有搜索结果的大列表。在这个窗口中,仍然可以按修改时间进行排序,从而找到已被更改的文件,即使这些更改已被撤销。

这样,我们就解决了在Git中查看已被更改的文件,即使这些更改已被撤销的问题。通过使用Windows资源管理器的搜索功能,并按照修改时间进行排序,我们可以找到这些文件。

0