如何使用git存储库替换损坏的文件?

时间:2015-05-20 19:55:21

标签: c# git visual-studio-2013

我在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} }。

对不起,如果这是一个令人困惑的问题。我只是想快速了解源代码控制,弄清楚这个文件损坏的原因,并恢复文件的良好版本。

1 个答案:

答案 0 :(得分:2)

您可以将git工作副本的工作区状态还原为当前"活动"通过运行提交(也称为HEAD):

git checkout HEAD -- .

此处的命令遵循以下语法:

git checkout [refspec] -- [path]

HEAD将扩展为指向(如前所述)目前正在进行的有效修订。

如果您只想更改单个文件,请使用:

git checkout HEAD -- path/to/file