我是 Git 的新手。原本想将我的数据推送到我的分支,但不小心把它推到了远程的 master 分支。我想撤销那次推送,请问有什么办法吗?
非常感谢您的帮助。
本地还原并推送您的还原
git revert <commit_id>
git push upstream/master
如果你正在与团队在上游仓库协作,那么这种方法比删除您的历史记录要好。如果你进行了强制重置和强制推送,可能会删除其他人提交的其他提交。最好只是回滚您的更改,并在团队历史记录中显示。
git checkout -b myfeaturebranch
git checkout master
git reset --hard HEAD~1
git push --force
它会执行以下操作:
这里的危险性在于,如果其他人从主分支拉取了这些提交,则这些提交将会丢失。在这种情况下,你需要使用 revert
而非 reset
,以便将重置记录作为提交历史的一部分。
git checkout -b myfeaturebranch
git checkout master
git revert HEAD~1
git push
git revert <commit_id>
而不是git revert HEAD~1
。 - Positive Navid我遇到了和你一样的情况!
这将把主分支的更改重置为工具中的树形结构。