Git Reset --hard 在本地存储库上,在远程存储库上也是如此?

Mar*_*aar 1 git github

当我git reset --hard <some commit>在本地存储库上执行此操作时,当我推送到远程时,我的远程存储库也会重置为该提交吗?

IMS*_*SoP 7

对特定提交进行硬重置会将本地分支指针移动到指向该提交,然后设置本地工作副本以匹配该提交处的存储库。

当您下次运行时git push,git 将尝试告诉远程服务器将其分支指针移动到指向同一个提交 - 但服务器可能会拒绝,说这不是“快进”。这是因为在共享存储库上移动分支指针可能很危险 - 它可能会使旧历史记录无法访问,并且其他人可能会根据旧历史记录进行不同的更改。

要告诉远程存储库您可以承受这些风险,请运行git push --force-with-lease(较旧的指令会说使用git push --force;“with Lease”本质上是检查是否有人与您同时推送)。