【发布时间】:2018-08-27 05:59:16
【问题描述】:
我git reset --hard <specific commit from earlier> 然后做了一些新的提交。当我尝试推送这些新更改时,系统会提示我 git pull 以获取在 <specific commit from earlier> 之后所做的更改。我试图只写这些更改 git 提示我拉。这是一个简单的项目,所以我只有一个主分支。最好的纠正方法是什么?
【问题讨论】:
我git reset --hard <specific commit from earlier> 然后做了一些新的提交。当我尝试推送这些新更改时,系统会提示我 git pull 以获取在 <specific commit from earlier> 之后所做的更改。我试图只写这些更改 git 提示我拉。这是一个简单的项目,所以我只有一个主分支。最好的纠正方法是什么?
【问题讨论】:
通过执行git reset --hard <earlier commit> 然后尝试推送它,您实际上是在尝试修改历史记录(通过删除它)。除非在git push 上给出--force 或--force-with-lease(最好)标志,否则不允许修改历史记录。
请记住,如果其他人拥有旧版本的分支,您可能需要通知他们,以便他们可以更正其副本以匹配新历史记录。
更多信息请访问man git-push。
【讨论】:
您可以使用以下命令强制推送您的更改:
git push origin <your_branch_name> --force
【讨论】: