3

我想使用 git log 来显示我自己过滤的提交之间的一组差异。git log 确实具有内部历史过滤功能,它将(当与 --patch 标志一起使用时)显示历史中可能相距甚远的提交之间的差异。但是当我尝试将其与 --stdin 结合以传递提交列表时,我会获得这些提交的完整历史记录(实际上是它们所在分支的完整历史记录)。添加 -1 不会让我更接近所需的行为,它只会将我限制为一次提交。

我正在寻找一个更干净的版本(过去几周发生的所有提交的每日差异):

git log --date=short --format='%H %ad' --since 2012-05-15 \
  |uniq -f1 |while read hash date
do
  if [[ -n $hash0 ]]; then
    echo ${date}..${date0}
    git diff $hash $hash0
  fi
  hash0=$hash
  date0=$date
done |less
4

0 回答 0