我正在开发一个项目,并希望合并来自git存储库的更改。
远程仓库不会忽略一些构建文件,但我已将这些构建文件添加到我的gitignore(因为使用不同的构建系统,构建的文件显然会有所不同)。
所以当我尝试合并时:
git merge -X ours ns3-mmwave-ext/master
我收到一条错误消息,说这些构建文件会被合并覆盖。
我不希望它们被覆盖,所以我按照这个答案 https://stackoverflow.com/a/26639255/4126652
并试图这样做:
git add -f * // Without -f git is complaining because those build files are in my gitignore
git stash
git merge -X ours ns3-mmwave-ext/master
但是仍然显示相同的错误,即合并将覆盖相同的未跟踪工作树文件。
请注意,ns3-mmwave-ext是一个遥控器,已经被取出。
修改
我可以狡猾地清理构建文件,但是构建过程非常长,我不想仅仅为了一些小的改动而重建整个过程。
编辑2:
我不是远程仓库的贡献者所以我不能只删除远程构建文件。
答案 0 :(得分:0)
我的建议是在其他本地build
分支中提交您的tmp
个文件夹。然后使用reset
local/master
ns3-mmwave-ext/master
,然后拉。
# First remove 'builds' folder from .gitignore
$ git checkout tmp
$ git commit -am 'builds folder commmit'
$ git checkout master
$ git fetch
$ git reset --hard ns3-mmwave-ext/master
$ git pull origin ns3-mmwave-ext/master
$ git checkout tmp
$ git rebase master # now your 'builds folder commit' will be kept in top here