【发布时间】:2015-02-02 14:06:53
【问题描述】:
我正在尝试获得在所有分支中搜索文件的功能。例如,我有 10 个分支,我需要获取该文件的所有不同版本(查看、比较或更多,例如,我可以为客户提供许多个性化文档、.css 文件、带有硬编码的源文件 - 这是不重要——我只需要访问所有这些)。 libgit2sharp 库可以吗?还是其他 libgit2 实现?
我知道这个
public BranchCollection Branches{
get { return branches; }
}
还有这条路线
string pathToRepo = "directory//folders//.git";
using (var repo = new Repository(pathToRepo))
{
foreach (var branch in repo.Branches)
{
var file = branch.SEARCH_FOR_FILE(string fileName); //I need something like this
Console.WriteLine("File found in" + branch.Name + "yours stuff: " + file.ToString()/something other);
}
}
我找到了提供在日志中搜索指定提交、添加/移动/删除分支的代码和示例,但是......没有关于搜索文件的内容。有人可以帮助我吗?在合理的时间内有可能吗?如果我使用 Git,我可以尝试在文件系统中搜索所有分支文件夹中的文件(但我猜这是个坏主意),如果我想实现数据库后端怎么办?
如果我是对的,在 Git 中实现了类似的东西,使用命令:
git log --all --pretty=format: | sort -u | grep MyAwesomeFile.extension
【问题讨论】:
-
要获取有关文件的所有提交,您应该使用
git log --follow filename,如果您只需要哈希,可以选择在文件名前添加--pretty=format:"%h"。那就是如果你坚持原生 git...
标签: git libgit2 libgit2sharp