Git 还原特定作者自特定时间以来的所有提交

Git 还原特定作者自特定时间以来的所有提交,git,git-revert,Git,Git Revert,我想还原自4天前以来特定作者的所有提交。我该怎么做 要获得所有Sha1(带有一点噪音),我可以使用以下方法: git log --author=Mohsen --pretty=one --since=4.days 您必须将格式:%H指定给git log并使用循环: for sha in `git log --pretty=format:%H --author=Mohsen --since=4.days`; do git revert --no-edit $sha done 这将为每个还原

我想还原自4天前以来特定作者的所有提交。我该怎么做

要获得所有Sha1(带有一点噪音),我可以使用以下方法:

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

您必须将
格式:%H
指定给
git 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"

如果您正在使用github,网络视图可能会显示您需要将git重置到的位置。另外,是否要
还原
重置
?他们有点不同。还有其他人的承诺。我不想复位,谢谢你!但当发生冲突时,它并没有真正停止。它确实停止了,如果一次还原发生冲突,您将被停止并允许继续使用
git revert--continue
Awesome answer,但我需要在其中执行更多的命令。我需要接受-他们的更改如果有冲突,如果是合并,我需要使用“git revert$sha-m 1”;你能帮我吗?你可以手动执行单个大的revert提交并接受更改?我的分支中有合并,我需要将它们还原到