You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git切换分支后packages目录DLL被修改,无法撤销怎么办?

强制撤销packages目录下的所有更改

方法一:清理后重新还原NuGet包

  • 删除整个packages目录:
    # Windows命令行
    rmdir /s /q packages
    # Git Bash或Linux/macOS终端
    rm -rf packages
    
  • 还原NuGet包:
    可在Visual Studio中右键解决方案,选择还原NuGet包;或者用命令行执行:
    # .NET Core/.NET 5+项目
    dotnet restore
    # 传统.NET Framework项目
    nuget restore YourSolution.sln
    

方法二:通过Git强制重置目录状态

  • 清理Git对packages目录的缓存:
    git rm -r --cached packages/
    
  • 重置packages目录到当前分支的最新状态:
    git checkout HEAD -- packages/
    
  • (可选)为避免后续重复问题,在项目根目录的.gitignore文件中添加:
    packages/
    

原因说明

这类问题多是因为packages目录被Git跟踪,分支切换时文件元数据(修改时间、权限等)变化导致Git误判为文件修改。将packages加入.gitignore是长期解决的核心——NuGet包应通过还原获取,无需提交到Git仓库。

内容的提问来源于stack exchange,提问作者Ray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 00:34:57