【发布时间】:2014-09-28 00:28:29
【问题描述】:
我有一个开源库的 GitHub 分支。在该 fork 的本地副本中,我修改了许多包含的 CMakeLists.txt(和其他文件),因此它不会编译整个库(因为有很多我不需要的东西)。因此,为了顺利整合我所做的更改
git update-index --assume-unchanged <files>
这样我就可以像没有更改任何这些文件一样使用 git。但是,每当遥控器发生更改并且我尝试拉取它们时(或者每当我想创建一个新分支时),我都会收到以下错误:
error: Your local changes to the following files would be overwritten by merge:
CMakeLists.txt
demos/CMakeLists.txt
<other files>
Please, commit your changes or stash them before you can merge.
Aborting
所以我必须手动撤消所有更改,git update-index --no-assume-unchanged <files>,拉动然后重做更改和update-index。这很痛苦,因为我几乎每天都必须这样做。
我在这里想要的是更新我的本地修改文件,如果它们有任何更改(实际上,它们不太可能被更改,因此发生冲突的可能性很低)但保留我所做的更改并保持 git 假设他们没有改变。
有没有更好的方法来做到这一点?
编辑:对不起,如果这已经被问过了。我一直在寻找它,但我无法找到针对我的具体案例的回复。谢谢!
【问题讨论】: