Git使用之代码衍合

工具:Git

目的:能够跨分支、跨版本进行代码合并

主要命令:cherry-pick、rebase

注意:

1、合并时,可能出现冲突,务必优先解决冲突;

2、多个commit合并时,可能出现文件丢失、代码丢失情况,请务必仔细观察编译时系统提示的错误和警告;

3、冲突和错误没有解决的情况下,不得提交代码到gitlab;

4、根据实际场景,cherry-pick 与 rebase 命令配合使用;


cherry-pick相关命令:

git cherry-pick [commitId]:合并某个commit(单个)

git cherry-pick [commitIdA]..[commitIdC]:合并commitIdA到commitIdC的内容,不包含commitIdA

git cherry-pick [commitIdA]^..[commitIdC]:检出commitIdA到commitIdC的内容,包含commitIdA

git cherry-pick --quit:退出cherry-pick,不恢复之前的操作

git cherry-pick --abort:退出cherry-pick,恢复之前的操作


衍合流程相关命令:

git checkout -b new [commitId]:先起一个本地分支,指向你想要截取的代码的最新位置

git rebase --onto [你要衍合到的分支名] [..]^:commitId为你想要截取的代码的最早位置

git checkout [你要衍合到的分支名]

git merge new

其他可用命令:

git rebase --continue:衍合遇到冲突,可根据情况使用此命令,会保留冲突部分代码

git rebase --skip:衍合遇到冲突,可根据情况使用此命令,自动跳过冲突部分,不保留冲突代码

git rebase --abort:衍合遇到冲突,退出衍合操作并还原所有代码


辅助命令:

git stash:暂存本地变化,代码恢复到最新一次的提交或拉取状态;

git stash apply:取回之前暂存的本地变化;

git stash list:已暂存的本地变化列表;

你可能感兴趣的:(Git使用之代码衍合)