目录
分支branch
注:以下操作都在Pycharm中完成,其他IDE都可以实现类似的功能,Git命令较为麻烦
多人协作一起开发,开发项目中不同的独立的功能,这些功能可能需要好几天才能完成,又或者定制版本,往往需要一个不同的定制需求
代码中至少有一个分支,就是主干分支或称主分支Master,默认都是在主分支上开发
单分支
图中绿色节点表示每一个提交commit项目往往是并行多人开发的,都在主分支上克隆,然后修改提交,那么主分支就会存在大量的冲突,甚至有一些不完善代码提交,主分支就混乱不堪,不可维护了。
再一个,如果一次提交后,需要发布一个版本,这个版本以后就需要独立维护、开发,而主分支还需要继续发展,这时候就需要引入多分枝
分支名
- 分支名再版本库中必须唯一
- 不能以 _ 开头
- 可以使用 / 但是不能以它结尾,被它分割的名称不能以 . 开头
- 不能包含任何空白字符,Git的特殊符号
多分支的使用和创建
创建分支:需要指明从什么分支上创建什么名字的分支
1、查看当前所处的分支
2、Pycharm中创建分支
【检出分支,就立即切换到分支上去了】
3、完善app.py文件进行提交【提交到了新的分支上】
4、PUSH到远端服务器
Git分支命令的使用
git branch 查看本地分支 git branch -r 远程分支查看 git branch -a 查看所有分支 git branch 新分支名 基准分支/标签/commit 新建一条本地分支 git branch -D 分支名 删除本地分支 cherry-pick :单个/批量何如修改
git cherry-pick -s -x sha1 将选指定提交并入当前分支 -s 添加签名信息 -x 添加原始commit sha1信息,用于追溯 清理合并
Format-patch 和apply (am) 补丁生成和应用
git format-path commit-id ^..commit-id 自动生成patch,如0001-AddLeTV_X60_20130901_030001.xml.patch git apply patch-name 应用patch 【git format-patch + git apply = 离线版cherry-pick
】git am patch-name 另一种打patch的方式, 可以自动复用commit message
和并分支
Rebase:把指定范围的commit批量提交到新分支上
Merge:将两条分支的历史记录合并到一起
过程图:
把dev分支的代码合并到Master中去
Fast Forward合并
- Pycharm默认NO FF不勾选的,也就是默认使用FF方式合并的
- NO-FF的好处是,可以看清楚开发分支上的代码改动
- 上面dev分支总是开发中的代码,dev测试、审查后合并master中
- master分支都是稳定的代码,可以发布
1、切换回到master,检出master
2、合并代码本地
3、Push到远端服务器中
Push后,远端服务器的显示
GitFlowb
不同公司有着不同Git工作流方式
最佳实践
- 使用Git一般至少2个分支:master和develop
- master,生产环境都来主干分支拿数据部署,也可以使用钩子自动重置
- devlop,开发分支,开发人员都是检出这个分支开发
复制分支
- feature分支,具体的功能开发分支,只于devlop分支交互
- release分支,发布版本
- hotfix分支,紧急bug修复的版本,最后需要合并develop和master中
Git解决冲突


本文介绍了在Pycharm中如何使用Git进行分支管理,包括单分支、分支名规范、多分支创建与合并,重点讲解了Fast Forward合并和GitFlow工作流,并探讨了Git解决冲突的方法。














1347

被折叠的 条评论
为什么被折叠?



