Git

如何在與指定分支更相似的 repo 中找到 git commit?

  • August 15, 2017

我在 git repo 中有一個分支。如何在 repo 中找到與分支最匹配的單個送出?就像我在這個分支和 repo 中的每個其他送出之間執行一個差異一樣,我想找到產生最少差異行的送出。

這是我的解決方案:

#!/bin/sh

start_date="2012-03-01"
end_date="2012-06-01"
needle_ref="aaa"

echo "" > /tmp/script.out;
shas=$(git log --oneline --all --after="$start_date" --until="$end_date" | cut -d' ' -f 1)
for sha in $shas
do
   wc=$(git diff --name-only "$needle_ref" "$sha" | wc -l)
   wc=$(printf %04d $wc);
   echo "$wc $sha" >> /tmp/script.out
done
cat /tmp/script.out | grep -v ^$ | sort | head -1 | cut -d' ' -f 2

引用自:https://unix.stackexchange.com/questions/127444