error: remote unpack failed: error Missing tree
对于该报错,官方的解释为可能为仓库损坏或网络问题等原因,但在我们实际开发过程中,绝大多数情况是因为,如前面所说,远程仓库有其他人提交的修改,如果不嫌撤回本地commit的话,我们是无法pull代码的。将本地修改代码先提交到暂存区,防止拉代码时,远程仓库代码和本地修改代码冲突。所以在pull之前,我们需先试用如下代码,撤回本地的上一次commit。撤回提交后,即可重新拉取远程仓库代码,命令如下。解决
·
一、报错原因
对于该报错,官方的解释为可能为仓库损坏或网络问题等原因,但在我们实际开发过程中,绝大多数情况是因为,远程仓库有其他人提交的修改,本地尚未拉取最新代码。
二、解决方案
1、撤回提交
如前面所说,远程仓库有其他人提交的修改,如果不嫌撤回本地commit的话,我们是无法pull代码的。
所以在pull之前,我们需先试用如下代码,撤回本地的上一次commit
git reset --soft HEAD^
2、暂存代码
将本地修改代码先提交到暂存区,防止拉代码时,远程仓库代码和本地修改代码冲突
git stash
3、重新拉取
撤回提交后,即可重新拉取远程仓库代码,命令如下
git pull origin QL_DEV
QL_DEV为我的分支名,根据自己实际情况做出修改。
4、暂存区代码应用
在拉取完代码后,可重新将本地修改代码重新取出
git stash apply
注:此步骤可能出现代码冲突,需手动解决
5、重新提交代码
解决完可能出现的冲突后,即可重新走提交代码步骤
-- 从暂存区取出的代码,需要重新add,并非多余步骤
git add .
git commit -m 'comment'
git push origin QL_DEV
6、问题解决
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献2条内容
所有评论(0)