修改历史版本——同步到当前版本
当前版本的支付宝页面修改一半的过程中,老版本的微信支付出现BUG,需放下手里工作去修复历史版本。
开一个新的分支,不要直接在历史版本1.0直接改
[1] 创建新分支编写——阿里支付
git checkout -b alipay master3.0 //创建新分支alipay,指定的当前进行的版本同步到新分支
// coding 编写阿里支付代码
git add .
git commit -m "add alipay" //提交保存到分支
>合并分支可以以后提交。视情况而定
git checkout master3.0 //切换到历史主版本master3.0版本下
git merge alipay //把改过后的内容合并到主版本内
[2] 创建新分支修改——微信支付
git checkout -b weixinpay master1.0 //创建新分支 weixinpay,把指定的历史版本 master1.0同步到新分支
// coding 修改微信代码
git add .
git commit -m "update master1.0 weixinpay " //提交
git checkout master1.0 //切换到历史主版本master1.0版本下
git merge weixinpay //把改过后的内容合并到主版本内
[3]
git checkout master3.0 //切换到历史主版本master3.0版本下
git merge weixinpay //把改过后的内容合并到主版本内
[4]旧数据与新数据有冲突
手动打开冲突的文件
<<<<<注释是相同的部分,可以删除无用的代码
最终提交
git branch --no-merged # 查看尚未被合并到当前分支的分支
git add.
git commit -m '合并分支修改冲突部分后提交';
git branch --merged # 查看已经被合并到当前分支的分支、
git branch -d <branch> # 删除某个分支
git branch -D <branch> # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)
…………………………完…………………………
以下是关于分支的相关命令对照表
Git 本地分支管理
版本/分支查看、切换、创建和删除分支
简写对照 co==checkout/br===branch
git branch -r # 查看远程分支
git branch <new_branch> # 创建新的分支
git branch -v # 查看各个分支最后提交信息
git branch --merged # 查看已经被合并到当前分支的分支
git branch --no-merged # 查看尚未被合并到当前分支的分支
git checkout <branch> # 切换到某个分支
git checkout -b <new_branch> # 创建新的分支,并且切换过去
git checkout -b <new_branch> <branch> # 基于branch创建新的new_branch
git checkout $id # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除
git checkout $id -b <new_branch> # 把某次历史提交记录checkout出来,创建成一个分支
git branch -d <branch> # 删除某个分支
git branch -D <branch> # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)
分支合并和rebase
git merge <branch> # 将branch分支合并到当前分支
git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交
网友评论