因为它是一个二进制文件,所以查看差异对我来说没有多大用处。
答案1
我建议写一个小脚本,git log
如下git show
所示:
#!/usr/bin/env bash
DONE=false
FILE="$1"
EXPORTFILE=/tmp/exportfile
git log --pretty=format:"%h" "${FILE}" |until $DONE
do read || DONE=true
echo "Exporting $FILE as of commit $REPLY to $EXPORTFILE-$REPLY"
git show $REPLY:"$FILE" > $EXPORTFILE-$REPLY
done
这会将当前分支中第一个参数的每个已知提交版本导出到/tmp/exportfile-12345678
。
为什么是until
,$REPLY
而不只是while read $commit
?你会错过最后一行/提交。阅读这个问题了解更多信息。