Git 强制覆盖本地跟踪文件,但不覆盖本地未跟踪文件

2024-01-19

我正在一个名为的本地目录中工作p1其中包含一个 git 存储库。添加分支并对添加的分支进行提交后,我制作了目录的副本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

现在,我已经找到了这个问题的潜在解决方案,例如this https://stackoverflow.com/questions/1125968/force-git-to-overwrite-local-files-on-pull.

然而,我的情况的问题是目录p2包含从远程存储库拉取时我不想删除的未跟踪文件.

那么,如何从远程存储库中提取数据,覆盖本地跟踪文件,而不删除本地未跟踪文件?


注:答案之一here https://stackoverflow.com/questions/6331139/get-git-to-overwrite-local-changes-but-to-keep-untracked-files似乎适合我,但我不是 100% 确定。


git fetch
git reset --hard origin/master
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git 强制覆盖本地跟踪文件,但不覆盖本地未跟踪文件 的相关文章

随机推荐