git - 在不强制推送的情况下恢复远程分支上的提交

标签 git version-control continuous-integration continuous-deployment

如何在不强制推送和丢失历史记录的情况下将一些远程存储库恢复为旧提交?我知道我能做到

git reset --hard <commit-hash>
git push -f origin master

但我没有强制推送的权限,我也不想丢失历史记录。

我想这样做是因为我将一些 **** push 了我的 master 分支,并且自动部署从该分支部署到生产环境。我通过创建一个新分支并更改部署设置以使用这个分支来解决这个问题,但是是否有任何选项可以将远程存储库的当前状态设置为旧提交以防发生这种情况?

最佳答案

您可以使用 git revert <commit>…对于所有 n 次提交,然后像往常一样推送,保持历史不变。

https://git-scm.com/docs/git-revert

关于git - 在不强制推送的情况下恢复远程分支上的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35885822/

相关文章:

c++ - 从 peter fillmore 编译 proxmark3 fork 时出错

git 在分支上进行协作

git - 需要删除错误的提交并保留 git 中的本地更改

continuous-integration - 有没有办法让 GitLab 缓存在不被写入的情况下被使用?

java - Selenium 作为 Windows 服务运行以截取错误的屏幕截图

python - 如何在 Github 操作中访问矩阵变量

git - 在 Julia 中提交包时出错

git - 恢复到 git 但 merge 但没有给出 -m 选项

混帐/gitorious : Way to share certain branches/repositories with the customer

php - SVN协作失败