4

我在一个名为的本地目录中工作,p1其中包含一个 git repo。添加分支并在添加的分支上提交后,我制作了目录的副本p1并将其命名为p2. 我的目的是在 directory 中进行合并和重新设置(只是为了学习) ,同时从我确定要如何合并/重新设置更改p2时推送到远程仓库。p1

但是,我不小心进行了合并,然后从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

现在,我找到了这个问题的潜在解决方案,例如这个.

但是,在我的情况下,问题是该目录p2包含未跟踪的文件,当我从远程 repo 中提取这些文件时,我不想删除这些文件

那么,如何从远程仓库中提取,覆盖我的本地跟踪文件,而不删除本地未跟踪文件?


注意:这里的答案之一似乎适合我,但我不是 100% 确定。

4

1 回答 1

3
git fetch
git reset --hard origin/master
于 2013-05-19T19:28:17.897 回答