git - Visual Studio 中分离的 HEAD

标签 git visual-studio git-detached-head

有没有办法使用 Visual Studio(特别是 Win10 x64 上的 2015)进入分离的 HEAD 状态,而不必转到命令行并手动执行?

编辑:为了提供上下文,a)我是 git 新手,来自 TFVC 世界,b)我正在尝试在本地查看和编译该项目以获取网站旧状态的屏幕截图;我不需要进行更改,之后我会将头和索引移回最远的提交 - 也许还有其他方法可以实现此目的?

最佳答案

不,拥有分离的 HEAD 通常并不是一个理想的状态,它通常是 Git 中操作的实现细节(例如,它是 rebase 所做的事情。)

如果您想使用旧版本,只需将当前分支重置为该提交即可。 (您可能希望创建一个新分支来执行此操作,以便您可以轻松切换回主分支。)

例如,如果您位于 ma​​ster 分支上,并且想要临时 checkout 较旧的提交,请首先确保没有任何未提交的更改。此过程重置您的存储库的状态。

确定您处于可以继续的安全状态后,创建并 checkout 新的临时分支:

打开“团队资源管理器分支”页面。选择分支。右键单击,然后选择“新建本地分支”。

New Local Branch From master

输入新的分支名称,例如:。选中“Checkout Branch”,然后选择“Create Branch”。

Create Branch

仍然在“分支”页面中,右键单击分支并选择“查看历史记录”。

History View

在“历史记录” View 中,找到您要 checkout 的提交。右键单击提交并选择“重置”>“重置并删除更改”。

Reset Hard

完成构建和检查此旧提交后,您可以切换回 ma​​ster 分支并(可选)删除分支。

注意:您需要 Visual Studio 2015 Update 2 或更高版本才能重置。

关于git - Visual Studio 中分离的 HEAD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37887403/

相关文章:

linux - 如何管理 git merge 基本上有两个主人?

bash - 如何避免 vim 内部的 vim 进行 git/mercurial merge ?

Git - 运行更新后子模块 HEAD 总是分离?

git - 处于分离头状态时如何保存更改?

visual-studio - 获取当前插件用户的用户名

git - 如何将我的分支重置为我在分离 HEAD 模式下创建的提交?

git - 如何从头到尾查看 git diff?

git - 如何用git下载一个分支?

visual-studio - Visual Studio 2022 无法构建任何项目

c# - 在 WPF 窗口中修改调整大小 handle 的光标 ("CanResizeWithGrip"+ "WindowStyle:none")