在使用sourcetree做多功能合并(合并不提交)的时候,有时按钮是灰色的,直接点击右上角命令行模式
git merge <branch1> --no-commit
合并某个提交
git cherry-pick xxx --no-commit
合并多个提交
# xxx时间比xxx2早,中间是^..,xxx到xxx2之前的所有提交都会合并
git cherry-pick xxx^..xxx2 --no-commit
如果出现错误a cherry-pick or revert is already in progress,执行一下
git cherry-pick --continue
git cherry-pick --quit
git cherry-pick --abort
另外说下还原的操作,
重置到某个分支,回滚提交,拉取,重新筛选需要提交的文件,再推送 才算成功
git revert xx -m 1 --no-commit
恢复已提交,未推送的情况(已经进行了git commit,还未进行git push)
使用远程仓库覆盖本地仓库
git reset --hard origin/master
sourcetree自定义操作
合并分支提交
如果加了 --no-commit,合并比当前分支更旧的提交时不会报错,而不加的话就会报错
cherry-pick和merge的区别在于前者是增量,后者全量,cherry-pick合并区间多个提交需要git1.7以上版本(一般都比这个高的)
转载请注明博客出处:http://www.cnblogs.com/cjh-notes/