Blog
Blog copied to clipboard
Git 相关
Git 相关
标签(空格分隔): Git
ssh -T [email protected]
测试Git的ssh
Git rebase -i head~x
把在一个分支里提交的改变移到另一个分支里重放一遍。 此时,如果commit里面存在两个parent,即这个commit是从两个分支合并过来的,这个commit 不会被选到。但是在我们开发的混乱的代码分支上,如果不pick这个commit,就会导致代码丢失。
我的解决方法是手动添加这次commit,执行到这次commit的时候会报错。 通过报错可以发现,rebase的时候使用了
cherry-pick
这个命令,这条命令需要一个-m [1|2]
选项,指定此次的patch是针对于哪个父commit的。可以通过git log --parents
看到commit的parents,-m
的1代表第一个parent,2代表第二个。 手动进行cherry-pick
之后再git rebase --continue
。写Blog的时候才想到搜索的关键词是
rebase
merge
commit
。 现在我们有了: 解决办法 另一种办法当然,如果测试的过程当中出了问题,请使用
git reflog
和git reset --hard
来反悔