【发布时间】:2021-12-21 07:01:50
【问题描述】:
基本上我有一个远程主分支,我没有直接推送访问权限。我已经确定了一个提交说 x 之前的提交,我想将远程分支恢复到。有没有一种简单的方法可以做到这一点,而不必恢复 x 之前的所有先前提交?
我尝试过:
git checkout -b A_DEV_BRANCH
git reset --hard COMMIT_SHA_X
git add .
git push origin A_DEV_BRANCH
但是通过拉取请求报告了 0 个更改,并且似乎没有删除自 X 以来的提交,感觉我可能在这里遗漏了一些简单的东西?
【问题讨论】:
-
这个问题(以及您的相应答案)中有一堆令人困惑的短语。您不能“将 还原为 提交”。您要么“重置为一个提交”,要么“恢复一个特定的提交(或一组提交)”。如果您想在不使用“reset”的情况下“重置为”提交,则必须还原所有提交之后该提交(而不是之前)。您的回答也令人困惑,因为该问题暗示您希望重新设置(或在之后恢复所有提交),但您的回答只是一次恢复。
-
无论您打算“重置”还是“还原”,我认为如果问题更清楚,那么很可能是重复的,因为关于重置与还原有多个问题,并且何时使用每个。
-
@TTT 我几乎可以肯定这个问题也会重复,但我找不到任何人以同样的“风格”来问它。我认为这个问题实际上表明了我对 git 如何工作的误解,也许最好删除这个问题和相应的答案(它可能只会让未来的读者感到困惑)。
标签: git github git-revert