2013-05-19 92 views
3

我在一个名为p1的本地目录中工作,其中包含一个git repo。在添加分支并在添加的分支上进行提交后,我制作了目录p1的一个副本,并将其称为p2。我的意图是在目录p2中尝试合并和重新绑定(只是为了学习),同时从p1推到远程回购时,我确定如何合并/重新绑定我的更改。Git强制覆盖本地跟踪文件,但不覆盖本地未跟踪的文件

但是,我不小心做了合并,然后从p2目录推送到远程回购。这是好的,因为现在远程回购具有我的git项目的正确状态。

但是,我需要现在替换目录p1中的内容与远程回购中的内容。这样,目录p1将是最新的。

当我进入目录p1,并尝试从远程回购拉,这里是我得到:

git pull 
Updating e07d50d..287ec08 
error: Your local changes to the following files would be overwritten by merge: 
    debug/external/subdir.mk 
    debug/makefile 
    debug/subdir.mk 
    input/parameters.cfg 
    main.cpp 
Please, commit your changes or stash them before you can merge. 
Aborting 

现在,我已经找到了潜在的解决问题的对策,如this

在我的情况的问题,然而,就是目录p2包含我不想删除,当我从远程回购拉未跟踪文件。

那么,我怎样才能从远程回购,覆盖我的本地跟踪文件,而不删除本地未跟踪文件?


注:here似乎是适合我的答案之一,但我不是100%肯定。

回答

2
git fetch 
git reset --hard origin/master 
相关问题