我不小心将Visual Studio 2017中的一个新分支中的分阶段更改推到了我的本地存储库。它还没有被推送到远程存储库。我想摆脱它,但找不到方法。我从本地主分支转到新分支。然后我删除了新的分支。但是外向提交仍然显示它。如何删除或恢复?
当前回答
我的解决方案很疯狂,但对我来说最简单的方法是:
封闭视觉工作室 在可视代码中打开 在提交时单击“撤销提交” 可视代码 在Visual studio中再次打开
其他回答
在团队资源管理器的分支tile中打开历史标签(右键单击你的分支)。然后在历史记录中右键单击不想推送的提交之前的提交,选择重置。这将把分支移回该提交,并应该摆脱您所做的额外提交。为了在提交之前重置,你必须选择它的父节点。
根据你想要做的改变选择硬,这将在本地摆脱他们。或者选择soft,它将撤销提交,但将在丢弃的提交中保留您的工作目录中的更改。
我找不到一个好的答案来帮助我摆脱这个问题。
假设分支的名称,你不小心提交了更改,是master。以下四个简单的步骤对我来说是一个世界:
前往分支机构 选择或创建除master之外的任何分支 删除master的本地/工作区版本 从remotes/origin切换到master
另一个可能很疯狂的答案,但奏效了。我这么说是因为Git每天都让我感到困惑。
对我来说,外发提交通过PR正确地合并到main,并在远程主分支中正确地显示,但我的本地主分支显示了与需要推送的外发提交相同的提交。
无法推到主界面… Reset(硬的或混合的)什么都不做。
我的解决方案是:删除本地主分支,然后重新签出远程主分支。
我的解决方案很疯狂,但对我来说最简单的方法是:
封闭视觉工作室 在可视代码中打开 在提交时单击“撤销提交” 可视代码 在Visual studio中再次打开
你有两种选择,要么放弃所有的提交,要么撤销特定的提交。
1-丢弃你所有的提交
丢弃所有传出的提交 例如,如果你有一个本地分支名为master从远程分支,你可以:
1-重命名你的本地分支从master到任何你可以删除它。 2-移除重命名的分支。 3-创建新的分支从主
所以现在你有一个新的分支没有你的提交..
2-撤销特定的提交: 要撤消特定的提交,您必须恢复不需要的通过:
1-双击不需要的提交。 双击不需要的提交 2-点击恢复 点击恢复
但是供你参考,被还原的提交将会出现在你的提交历史中。
推荐文章
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- 在Visual Studio中查看多个项目/解决方案
- GIT克隆在windows中跨本地文件系统回购
- Visual Studio打开默认浏览器,而不是Internet Explorer
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 跟踪所有远程git分支作为本地分支
- csproj文件中的“Service Include”是干什么用的?
- 自定义SSH端口上的Git