【问题标题】:Visual Studio GIT Reset to Previous Commit ProblemsVisual Studio GIT 重置为以前的提交问题
【发布时间】:2022-03-03 15:53:20
【问题描述】:

我决定要在我的 Visual Studio 项目(它使用 GIT 和 TFS)上从版本 31 恢复到版本 69

我能够使用团队资源管理器并按下重置,似乎回到了版本 69 状态。

但是,现在当我提交时,提交 57 和 31 中的所有更改都将被分阶段提交,即使它们不在我的 Visual Studio 解决方案资源管理器中。

我不想要来自新提交的信息,我基本上只是希望版本 69 是最新的。反正我可以这样做吗?

【问题讨论】:

  • all changes from future commits are there waiting to be committed even though I can't see them
  • 我的意思是,在 Visual Studio 中,解决方案资源管理器仅显示当前提交中的项目。但是当我真正点击提交时,未来提交的所有项目都将被分阶段提交,即使我在界面上看不到它们。
  • 我刚刚恢复了主分支上的两个提交,我还没有分支任何东西。
  • 如果您已经重置了本地存储库(我猜很难),那么您需要强制将其推送到服务器。请给我们Minimal, Complete, and Verifiable example您的问题。就目前而言,您的问题对于您实际做了什么以及结果是什么非常模糊。

标签: git visual-studio tfs


【解决方案1】:

虽然这个问题过了很久。我遇到了一个类似的情况。我正在将 VS 与 Git self 一起使用。

我错误地重置了一个旧的提交。所有我需要的最新日志和提交都消失了。

我正在尝试执行以下操作。

  1. 转到您的解决方案并找到隐藏文件夹 .git。
  2. 找到日志文件夹并打开 HEAD 文件。必须有一行包含一个您想要但不在 VS 中显示的提交。记住 commit-id(同一行中的第二个)。
  3. 打开您的 cmd 提示符。
  4. 转到您的 git 路径。如:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\cmd
  5. 键入 cmd:git -C 你的解决方案文件夹+.git reset 你的提交 ID
  6. 然后回到VS,那些文件仍然没有回来但是你可以在view-Git change中找到所有标记的更改。只需选择所有更改,然后取消更改。与您的提交相关的所有文件都应该返回。

提醒,我不确定我的解决方案是否适用于所有情况。因此,最好为您的解决方案多保留一份副本。否则损失更大。 :)

【讨论】:

    猜你喜欢
    • 2013-06-19
    • 2014-11-15
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2019-05-26
    相关资源
    最近更新 更多