1 GKI respin
只负责common仓
拉代码:
git clone https://android.googlesource.com/kernel/common
git diff commit1 commit2 > kernel.diff
把这个diff 拷贝到项目的kernel common仓里面。
git checkout 临时分支
git apply kernel.diff
删除diff文件!!!
git merge 到主分支
git add / commit /push
2 把一笔merge改成cherry-pick
首先我提交了一笔merge,在一个分支上merge另一个分支,然后我push了,结果merge不支持cherr-pick打包验证,折腾一下午,终于改好了
因为我这个merge有两个parent,我需要先改为没有merge之前的那个parent.,也就是rebase,比如merge之前的commit是123456,也就是parent
merge之后,push ,gerrit上查看,有两个parent,
git rebase parent1
然后git commit --amend
手动去把git merge之后的change ID 粘贴到commit 信息里!
这样就做成了同一笔change。
git rebase 123456
然后直接push就行,关键是changeID不能变,changeID不变就是同一笔,但是我这里changeID 变了,所以我只能用一个不是办法的办法,手动粘贴原本的changeID
git commit --amend
然后粘贴。
git push 应该就可以了。
另外其中也用到了git reflog,这个应该大家都熟悉,是记录你所有的git 相关的操作,git log只会记录你的commit信息。
然后假如我们想退回到哪一个操作,直接git reset --hard commit_id 即可。