常见的合并问题,由于修改某些自定义文件,导致同步openwrt库的时候会提示如下
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 8 (delta 3), reused 8 (delta 3), pack-reused 0 (from 0)
展开对象中: 100% (8/8), 5.67 KiB | 2.83 MiB/s, 完成.
来自 https://github.com/coolsnowwolf/lede
fbc286546..003a08490 master -> origin/master
更新 28e46bb61..003a08490
错误:您对下列文件的本地修改将被合并操作覆盖:
package/lean/default-settings/files/zzz-default-settings
请在合并前提交或贮藏您的修改。
正在终止
解决步骤
要解决这个问题,根据自己需求选择处理:
1. 提交你的本地修改
如果你希望保留对文件的修改,可以将其提交:
git add package/lean/default-settings/files/zzz-default-settings
git commit -m "保存对 zzz-default-settings 的修改"
然后再次运行 git pull
或 git fetch
和 git merge
。
2. 储藏(stash)你的修改
如果你不想提交这些修改,但又希望暂时保存它们,可以使用 Git 的 stash
功能:
git stash
然后再执行 git pull
来更新代码。更新完成后,可以恢复你的修改:
git stash pop
这将把你之前储藏的修改应用到当前工作目录中。
3. 放弃本地修改
如果你确定不需要保留这些本地修改,可以选择放弃它们。使用以下命令重置文件到最新的远程版本:
git checkout -- package/lean/default-settings/files/zzz-default-settings
然后再进行 git pull
操作。
根据你的需要选择合适的方案,解决后再次尝试更新操作。
4.清理编译环境
在解决合并问题后,您可能需要清理编译环境,以下是几个常用的清理命令:
make clean
:清理bin目录下生成的烧录镜像文件。make dirclean
:执行make clean
的操作,并清理toolchain目录和目录中的(交叉)编译工具。make distclean
:执行make dirclean
的操作,并清除所有原目录后来产生的文件,包括下载的软件包、配置文件、feed内容等。