1. Git 使用cherry-pick“摘樱桃”
step 1: 本地切到远程分支,对齐要对齐的base分支,举例子 localmap
git pull 
git reset --hard localmap 对应的commit id
 
step 2: 执行cherry-pick命令
git cherry-pick abc123
 
这样就会将远程分支gq/localmap中哈希值为abc123的提交应用到本地分支localmap-dev上。
 step 3:
 全文搜索
>>>>>>
 
处理冲突即可
2. Git 使用revert回滚已提交的commit
在git使用中如果提交错误的代码至远程服务器,可以使用git revert 命令回滚单次commit并且不影响其他commit。
 回滚最新一次的提交记录: git revert HEAD
 回滚前一次的提交记录 : git revert HEAD^
 对历史上的commit回滚: git revert 
 回滚历史commit很容易产生文件冲突,需要做好冲突处理。
 使用SourceTree进行commit revert
 在准备revert 的commit上右键 选择 reverse commit。 revert命令与reset命令不同,是生成一次新的commit冲抵原来的commit, reset直接删除某些commit的内容。Revert历史上的commit 很容易产出文件冲突, 在这次回滚中,对于有冲突的文件都没有进行回滚,只将未产生文件冲突的文件进行了回滚。
 确认生成的新commit编译成功,也没有文件冲突,可以push到服务器,完成回滚。
 
