我有一个Git仓库,我保留了最新的代码。每当我更新此repo中的代码时,我都会转到克隆生产工作树并运行git pull以从repo获取最新代码。
今天早上我尝试了这个,并收到一个git错误,指出我的工作树有未提交的更改(这应该永远不会发生,因为所有开发人员都知道不会直接修改此代码。)我决定不保留本地生产更改,并且我对文件进行了git checkout以获取repo的最新信息。这也因错误而失败。
我尝试了几个步骤,但都失败了。任何人都可以帮我弄清楚如何转储本地文件更改并从repo恢复最新文件?
有一个可能的复杂情况:我在有问题的文件上尝试了git rm,希望我可以从工作树中删除它,然后成功从repo中提取文件。这也没有用,现在git rm在repo HEAD上。
答案 0 :(得分:2)
如果您有本地更改,请执行
git stash
在git pull
之前。使用stash
,所有更改都将移到一边,从而允许pull
成功。因为,如您所述,您不需要本地更改,然后您可以执行
git stash drop
将丢弃最后一个藏匿处。
您还有this回答。