我不小心将Visual Studio 2017中的一个新分支中的分阶段更改推到了我的本地存储库。它还没有被推送到远程存储库。我想摆脱它,但找不到方法。我从本地主分支转到新分支。然后我删除了新的分支。但是外向提交仍然显示它。如何删除或恢复?
当前回答
TL; diana:
在cmd .sln文件夹中使用git reset—soft HEAD~
我今天面对它,被VSCode建议这样的东西所震撼,而它的大哥Visual Studio却没有。
大多数答案都没有帮助;如果我有更多的提交,失去他们都将是令人沮丧的。 此外,如果VSCode在半秒内完成,它就不应该很复杂。
只有jessehouwing的答案最接近简单的解决方案。
假设不希望的提交(s)是最后一个发生,这是我如何解决它:
进入团队资源管理器->同步。 你会看到所有的提交。按动作下拉菜单和打开命令提示符
你会有cmd窗口提示,这里写git reset -soft HEAD~。 如果有多个不希望的提交,在~之后添加数量(即git reset -soft HEAD~5)
(如果您不使用git,请检查口语用法)。
我希望它能有所帮助,希望下个版本VS团队能把它内置进去
其他回答
假设您已经将最新的更改推送到服务器:
关闭Visual Studio并删除项目的本地副本 打开Visual Studio,转到团队资源管理器选项卡,单击管理连接。(插头) 单击“管理连接”旁边的下拉箭头,“连接到项目” 选择项目,确认本地路径,然后单击Connect按钮。
一旦重新打开项目,提交和更改都应该为零。
转到团队资源管理器选项卡,然后单击分支。在分支中,从remotes/origin选择您的分支。例如,你想重置你的主分支。右键单击remotes/origin中的主分支,然后选择Reset,然后单击Delete changes。这将重置您的本地分支并删除所有本地提交的更改。
我的解决方案很疯狂,但对我来说最简单的方法是:
封闭视觉工作室 在可视代码中打开 在提交时单击“撤销提交” 可视代码 在Visual studio中再次打开
另一个可能很疯狂的答案,但奏效了。我这么说是因为Git每天都让我感到困惑。
对我来说,外发提交通过PR正确地合并到main,并在远程主分支中正确地显示,但我的本地主分支显示了与需要推送的外发提交相同的提交。
无法推到主界面… Reset(硬的或混合的)什么都不做。
我的解决方案是:删除本地主分支,然后重新签出远程主分支。
尝试将本地主分支重新基于远程/起源主分支,并解决过程中的任何冲突。
推荐文章
- Visual Studio Code: .git文件夹/文件隐藏
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么git-rebase给了我合并冲突,而我所做的只是压缩提交?
- Nuget连接尝试失败“无法为源加载服务索引”
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- 在Visual Studio中查看多个项目/解决方案
- GIT克隆在windows中跨本地文件系统回购
- Visual Studio打开默认浏览器,而不是Internet Explorer
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖