查找提交以在 Azure Devops 中查找非常旧的已删除文件

问题描述 投票:0回答:3

我一年多前开始从事这个项目,似乎有一个文件丢失了,甚至可能比这个还要长。我正在尝试返回到我的存储库以查找该文件何时可能已被删除,但我不知道是什么提交,更不用说可能已执行此操作的日期或用户了。

在 Azure Devops 中,我似乎只能按名称、路径、用户、日期进行搜索,或者只是遍历每次提交,直到找到文件,哈哈。 我已经浏览了包含它的文件的历史记录,但同样不知道日期或用户或提交,我无法找到它?

我尝试过 git 命令,类似于

$ git log --all --full-history -- <path-to-file>
$ git log --all --full-history -- **/thefile.*

或者我在堆栈上找到的东西,比如

grep -rnw '/path/to/somewhere/' -e 'pattern'

以及所有替代版本。

这些以及许多命令或路线可以在附加到 Visual Studios 的实际 Azure Devops 后端站点中找到它......但似乎都没有帮助。

希望有人知道解决这个问题的方法或找到它的命令? 谢谢!

git visual-studio file azure-devops command
3个回答
7
投票

搜索所有已删除的文件怎么样?

git log --diff-filter=D --summary | grep delete

显示该文件的历史记录(或您原始帖子中的历史记录)

git log --all -- DeletedFilePath
git show COMMIT_ID -- DeletedFilePath

7
投票

PieDev建议的第一个命令有效,但第二组命令没有返回任何信息,它们可能没有错,只是没有具体帮助我。

此解决方案类似的帖子引导我找到了以下解决方案:

git log --diff-filter=D --summary | grep -E 'delete|^commit\s+\S+'

这将显示所有已删除的文件以及推送更改的提交。


0
投票

通过 Visual Studio 有一种简单的方法可以做到这一点,但它需要一些关于文件可能何时存在的知识(或猜测):

  1. 拉出项目历史记录 (
    Git
    -->
    View Branch History
    )。
  2. 找到您认为该文件可能存在的任何提交。
  3. 按住 Ctrl 键的同时,单击该提交和最新提交,以便选中两者。
  4. 右键单击其中一个提交并选择
    Compare Commits...

如果您在步骤 2 中的提交选择在文件存在时的范围内,则生成的比较窗口将显示带有删除线的现已删除的文件。右键单击它并选择

View History
。历史记录中的顶部提交是文件被删除的提交。此时,您可以查看提交详细信息或执行您想要对提交执行的任何其他操作。

© www.soinside.com 2019 - 2024. All rights reserved.