首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何回到以前的提交,删除我在本地/公共回复中发布的所有内容?

如何回到以前的提交,删除我在本地/公共回复中发布的所有内容?
EN

Stack Overflow用户
提问于 2018-06-27 10:21:51
回答 1查看 792关注 0票数 0

我当时在当地的回购公司。阶段+提交,而不是推送到服务器。主提交现在是4e4f27c554ee42e5fb7a0b62b6d921cbd05819c9

我犯了个错误!哈..。

我想返回到以前的提交,返回到5e814650f03d04e56fcb069000f77123c1b5273b,在中,公共e本地回购。

我该怎么做呢?尝试过git push origin +5e814650f03d04e56fcb069000f77123c1b5273b:master,但是在本地回购中,我仍然可以在传出提交窗口(Visual工具)中看到错误的提交,并且我不知道如何删除它。

最好的办法是什么?

EN

回答 1

Stack Overflow用户

发布于 2018-06-27 10:34:48

您可以根据需要使用git revertgit reset:-

  • 使用git revert <commit_ID> -还原提交不会被删除。相反,Git创建一个新提交,其中包含的文件恢复到以前的状态。因此,您的版本控制历史向前移动,而您的文件的状态向后移动。
  • 使用git reset --hard <commit_ID> - Git丢弃回购的当前状态和目标提交之间的任何提交。然后,分支似乎会在将头重置到的提交时停止。虽然提交似乎不再是分支历史的一部分,但它们不会被删除。它们还保存在吉特。

然后,将您的更改推送到remote (假设您的分支在这里和远程上都被称为主人,并且您的远程被称为原始):-

代码语言:javascript
运行
复制
# note this will hard reset your commit
git reset --hard <commit-hash>
# pushing changes to remote
git push -f origin master
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51060337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档