11

我想恢复 4 天前以来特定作者的所有提交。我该怎么做?

要获得所有 sha1s(有一点噪音),我可以使用这个:

git log --author=Mohsen --pretty=one --since=4.days
4

1 回答 1

13

你必须给予format:%Hgit log使用一个循环:

for sha in `git log --pretty=format:%H --author=Mohsen --since=4.days`; do
  git revert --no-edit $sha
done

这将在每次还原时创建一个提交。禁止--no-edit在每次还原时以交互方式修改提交消息的选项。

或者,如果你想做一个大的还原提交:

for sha in `git log --pretty=format:%H`; do sharange="$sharange $sha"; done
git revert $sharange --no-commit
git commit -m "reverted commits $sharange"
于 2013-07-29T23:25:02.460 回答