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

posted @ 2018-01-06 00:17  恰逢青雪  阅读(260)  评论(0编辑  收藏  举报