相关疑难解决方法(0)

Git:我怎样才能找到与目录最匹配的提交?

有人拿了Moodle的一个版本(我不知道),在一个目录中应用了很多变化,然后发布它(树在这里).

如何确定最有可能编辑原始项目的哪个提交以形成此树?

这将允许我使用此补丁在适当的提交中形成分支.当然,它来自1.81.9分支,可能来自发布标记,但特定提交之间的差异对我没有多大帮助.

事后更新:knittl的回答让我尽可能接近.我首先添加了我的补丁仓库作为远程"外来"(没有共同提交,没关系),然后在带有几个格式选项的循环中做差异.第一个使用--shortstat格式:

for REV in $(git rev-list v1.9.0^..v1.9.5); do 
    git diff --shortstat "$REV" f7f7ad53c8839b8ea4e7 -- mod/assignment >> ~/rdiffs.txt; 
    echo "$REV" >> ~/rdiffs.txt; 
done;
Run Code Online (Sandbox Code Playgroud)

第二个只计算了没有上下文的统一差异中的行变化:

for REV in $(git rev-list v1.9.0^..v1.9.5); do 
    git diff -U0 "$REV" f7f7ad53c8839b8ea4e7 -- mod/assignment | wc -l >> ~/rdiffs2.txt;
    echo "$REV" >> ~/rdiffs2.txt; 
done;
Run Code Online (Sandbox Code Playgroud)

有成千上万的提交要挖掘,但这个似乎是最接近的匹配.

git diff patch commit

39
推荐指数
1
解决办法
2474
查看次数

标签 统计

commit ×1

diff ×1

git ×1

patch ×1