cherry-pick冲突解决
git checkout master
git cherry-pick ad013cc8
git diff
git status
git add .
git cherry-pick --continue
git 回滚
精确回滚,回滚指定commintID的内容,通过参数控制软回滚/硬回滚
git revert commitID
整体回滚,回滚到指定的commitID,把指定的commitID之后的内容都回滚
软回滚,回滚到commit之前,add之后,内容保留
git reset --soft commitID
硬回滚,内容删除
git reset --hard commitID
git 合并
精确合并,首先切换到需要上线的分支,在此分支去合并另外分支的commitID
git cherry-pick commitID
整体合并,首先切换到需要上线的分支,在此分支去合并另外的分支
方式一:
git merge dev
方式二:
git rebase dev
拉取远程commitID,添加–rebase,是为了把dev的commits放到远程分支已经提交的commits的最上面。
git pull --rebase
git 合并多个commitID
合并多个commitID为一个commitID,多个commit可以是连续的或者不连续的
方式一:
git rebase -i commitID(此commitID为需要合并的最早的commitID的上一个commitID)
或者
git rebase -i commitID^1(此commitID为需要合并的最早的commitID,如下面的:33dcb4)
编辑文档如下:
pick 33dcb4
s 69jbhf
s 7yhhb3
方式二:
git reset --soft commitID
先软回滚,再整体提交
git 撤销rebase合并
如果你想要撤销一个 rebase 操作,你可以按照以下步骤操作:
# 查找 rebase 之前的 HEAD 指向哪个提交,查看最近的提交记录,找到 rebase 之前的提交哈希
git reflog
# 将 HEAD 重置回 rebase 操作之前的状态, 假设 HEAD@{1} 是 rebase 之前的状态,使用 --hard 选项来重置工作目录和索引
git reset --hard HEAD@{1}
待完善。。。