记录下给video.js 提交pr遇到的git问题
https://github.com/videojs/video.js/pull/7990
我从main分支checkout的分支,修改完代码后合并到main,管理员提示我把这次迭代放到下一个版本的next新分支中,咨询了同事后记录下git操作。收获满满!
首先,把next分支拉取到本地,然后切换到自己的分支!
一些常用vim退出操作指令:
:q
//退出
:q!
//退出且不保存(:quit!的缩写)
:wq
//保存并退出
:wq!
//保存并退出即使文件没有写入权限(强制保存退出)
:x
//保存并退出(类似:wq,但是只有在有更改的情况下才保存)
:exit
//保存并退出(和:x相同)
:qa
//退出所有(:quitall的缩写)
:cq
//退出且不保存(即便有错误)
首先进入
git rebase -i next // 打开vim编辑器,查看合到git分支上提交记录
可以看到我们commit的代码只有最后一个test和test1的内容,其他的都是现在main分支和next分支中,其他人修改的代码!
我们只想提交test和test1到next分支
输入i进入vim编辑模式,然后只保留我们自己commit的pick,其他的都drop掉
如果想将两次commit合成一次,可以将最后一行pick替换成的squash或者fixup
:x
保存 退出vim
然后可以git diff next
查看下合next分支的不同
若无问题直接 git push -f
有问题可以重置: git reset --hard f182580efb5e0578427b66bd1bb6be435bd303fb