需要使用repo中的最新版本覆盖本地修改的文件

时间:2013-07-22 20:32:05

标签: git

我有一个Git仓库,我保留了最新的代码。每当我更新此repo中的代码时,我都会转到克隆生产工作树并运行git pull以从repo获取最新代码。

今天早上我尝试了这个,并收到一个git错误,指出我的工作树有未提交的更改(这应该永远不会发生,因为所有开发人员都知道不会直接修改此代码。)我决定不保留本地生产更改,并且我对文件进行了git checkout以获取repo的最新信息。这也因错误而失败。

我尝试了几个步骤,但都失败了。任何人都可以帮我弄清楚如何转储本地文件更改并从repo恢复最新文件?

有一个可能的复杂情况:我在有问题的文件上尝试了git rm,希望我可以从工作树中删除它,然后成功从repo中提取文件。这也没有用,现在git rm在repo HEAD上。

1 个答案:

答案 0 :(得分:2)

如果您有本地更改,请执行

git stash
git pull之前

。使用stash,所有更改都将移到一边,从而允许pull成功。因为,如您所述,您不需要本地更改,然后您可以执行

git stash drop

将丢弃最后一个藏匿处。

您还有this回答。