git cherry-pick git diff repo sync

1 篇文章 0 订阅
1 篇文章 0 订阅

git cherry-pick conflict:
这里写图片描述
just do like this:
1.git status
这里写图片描述
2.find the files which are both modified.
3.edit and solve the conflict one file by one file.
4.git add the files you have just modified in step 3.
5.git cherry-pick --continue//注意是 两个-
OK. Make it!

接着写看看git submodule和repo sync失败的问题:
通常为了分布式开发工程,使用repo和git集群管理,repo管理工程,git管理各个主模块和子模块,子模块的remote仓库极有可能是分离的。在使用中会遇到一些奇怪的问题,比如:repo sync失败

说是有改动没有commit。就是用git diff一看

git diff出现submodule的diff:
在这里插入图片描述
就是这种改动,我发誓,这不是我干的,我没有改动这个库。
当然啦,我不是配置管理人员,我真不懂里面的原理,但是我猜测估计是这个子模块的代码其实是repo sync过程中从对应的远端仓库git pull的,有新增,然后index内容就与repo sync时保存的内容不一样了(具体这个index是干啥的我真不想去研究)。
解决办法:
git rm --cached ambalink_sdk_3_10/yuneec/ync_WCCS
然后git diff,这个diff就消失了。

但是repo sync 还是失败,现象跟上面repo sync失败一样。

也就是说,虽然git diff看不见diff了,但是还是没有commit,上一步git rm --cached之后接上git commit随便加上点commit info就可以区repo sync了,sync会把所有submodule同步远仓库,但有个讨厌的地方就是,我们commit的东西没有被覆盖,需要reset回去。reset回去之后git diff 又会出现上文中submodule 的diff。

这个解决了同步不下来的问题,但治标不治本,有空再继续研究吧。

如果哪位大神在行,跪求指导。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值