我在VS2013损坏我的Program.cs
文件时遇到了问题(请参阅this question),所以我设置了一个Git repo并提交了我的项目版本。果然,当我今天打开这个项目时,Program.cs
已经腐败了。
所以我想我需要从repo中提取Program.cs
的工作版本,并用这个干净的版本替换损坏的版本。我一直试图通过阅读Pro Git来学习如何使用Git,但到目前为止我还没有想出如何做到这一点。奇怪的是,当我运行git status
时,没有列出modified: Program.cs
下的"未提交的更改提交:"。我确实看到了modified: Relinker.v12.suo
。我知道正在跟踪项目中的所有.cs文件,因为在将数据添加到任何其他.cs文件后,保存更改并重新运行git status
,文件最终显示为{{1} }。
对不起,如果这是一个令人困惑的问题。我只是想快速了解源代码控制,弄清楚这个文件损坏的原因,并恢复文件的良好版本。
答案 0 :(得分:2)
您可以将git工作副本的工作区状态还原为当前"活动"通过运行提交(也称为HEAD):
git checkout HEAD -- .
此处的命令遵循以下语法:
git checkout [refspec] -- [path]
HEAD将扩展为指向(如前所述)目前正在进行的有效修订。
如果您只想更改单个文件,请使用:
git checkout HEAD -- path/to/file