[英]Git force overwrite of local tracked files but not local untracked files
我在一个名为p1
的本地目录中工作,该目录包含一个git repo。 添加分支并在添加的分支上进行提交后,我制作了目录p1
的副本并将其命名为p2
。 我的目的是在目录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
包含未跟踪的文件,当我从远程仓库中取出时,我不想删除这些文件 。
那么,我如何从远程仓库中提取,覆盖我的本地跟踪文件,而不删除本地未跟踪文件?
注意: 这里的答案之一似乎适合我,但我不是100%肯定。
git fetch
git reset --hard origin/master
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.