git入门:创建合并分支 解决冲突 分支管理策略
分支创建与合并
理解:相当于创建多一个与现在一模一样的平行时空 在这基础上继续干活 但其实并不会影响到当前时空 ,合并时再决定A时空并入B时空 还是B 时空并入A和空
查看分支 git branch;
创建分支 git branch '分支名'
切换分支 git checkout '分支名'
创建加切换 git checkout -b '分支名'
合并某分支到当前分支 git merge '分支名'
删除分支 git branch -d '分支名
解决冲突
假设现在有主分支(master) 和 新建分支(dev)
master(修改)---dev(修改) //dev分支存在后 2者再进行修改
master 合并 会提示
然后我们打开 它所提示的文件 readme.txt
红色区域为冲突区域 我们只要在上面进行内容取舍便可
处理好 add + commit 即可出一个无冲突版本(Resolve the conflict)
查找分支合并情况:git log --graph --pretty=oneline --abbrev-commit
删除分支:git branch -d '分支名'
合并分支时,如果可能,Git会用Fast forward
模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward
模式(--no-ff 为禁用Fast forward模式),Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息
合并并commit: git merge --no-ff -m "备注信息" "要合并分支对象" //适用于主分支无修改 无冲突 纯属合并添加内容 一步到位api
工程中的分支管理
master新建一条 dev分支 成员们都在dev的基础上另起分支 修改后再与dev分支进行合并 一般都无需理会master分支 只有出版本时才需要将dev并入到master分支
工作中分支应用
master放置上线代码
dev 项目当前功能的最新代码
功能分支放置 当前功能完成的代码
fetch下来后rebase时和线上版本产生冲突
打开对应文件 解决冲突后 执行
git rebase --continue