1. 分支策略
在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
所以,团队合作的分支看起来就像这样:
常用策略:
Merge原理
git checkout –b https 创建并切换https分支
git add c3 添加C3改动到暂存区
git commit –m ‘c3’ 提交C3改动.
git checkout master 切换分支
git checkout -b bf_1 创建并切换到bf_1分支
git add c4 添加c4到暂存区
git commit –m “c4” 提交c4变更到bf_1分支
现在开始合并
git checkout master 切换到master
git merge --no-ff -m "merge bf_1 with no-ff" bf_1 将bf_1分支合并到当前分支(master)
–no-ff代表禁用fast forward模式
git add xxxxx
git commit 合并完成
git merge --no-ff -m "merge https with no-ff" https将https分支合并到当前分支(master)
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。git log –graph 命令可以看到分支合并图。
(可选)删除https及bf_1分支
git branch –d https
git branch –d bf_1
Rebase原理
git-add解决冲突
git rebase –continue继续合并
Merge与rebase区别
用merge只需要解决一遍冲突,比较简单粗暴
用rebase有时候会需要多次fix冲突(原因在于本地分支已经提交了非常多的commit,而且很久都没有和上游合并过)
Stash原理
Tag标签介绍
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。
git tag <tagname> 创建tag
git tag 查看tag列表
git show <tagname> 查看标签信息
git tag -a <tagname> -m "描述" 创建带描述的tag
git push origin <tagname> 推送指定标签到远程库
git push origin –tags 推送全部tag到远程库
git tag –d <tagname> 删除本地标签
删除远程库标签很麻烦,具体请自行百度.
Idea中使用git
常用快捷键
Ctrl+t 更新
Ctrl+k 提交
Ctrl+shift+k 推送
Ctrl+alt+a add new file
-------非git操作快捷键
ctrl+shift+f 查看全部文件
ctrl+q 查看注释
ctrl+h查看
shift2 查看everywhere
ctrl+o 选择重写方法
alt+f7 查看被引用
alt+enter 加注释等
Ctrl+Alt+Shift+N
ctrl+n 查类
ctrl+b 按住ctrl点击 进入方法或者类
ctrl+f12 查看类文件结构
shift+f6 重命名
ctrl+shift+空格 自动引入合适对象及内容
alt+insert 生成settergetter等
alt+f1 切换显示元素 navigater之类的
ctrl+alt+t trycatch ifelse等包装
ctrl+alt+o 自动引入/去除无用引入
ctrl+alt+b 查看抽象方法
ctrl+w 扩展选择
ctl+alt+v 重构
ctrl+/ ctrl+shift+/ 注释代码
ctrl+d 复制所选行或块
ctrl+p 括号内内容填充
Ctrl+Shift+Backspace 最后的编辑点
Ctrl+Shift+F7 高亮使用
alt+q 查看类声明
ctrl+e 最近打开文档
F2 shiftF2 跳转到错误
ctrl+j 查看模板列表
ctrl+shift+j 合并两行并格式化
ctrl+shift+v 选择最近剪贴板内容粘贴
ctrl+h 导航类层次结构
Ctrl+Q(查看快速文档)、Ctrl+P(视图参数信息)、Ctrl+B(导航声明)
alt+shift+c 回顾最近修改
Ctrl+Shift+Enter 补全if else等
Ctrl+Shift+向上箭头 or Ctrl+Shift+向下箭头. 上下移动行/方法位置
alt上下 快速跳跃方法
Ctrl+Shift+I 快速浏览定义
ctrl+alt+z 还原类变更 至版本
sout syso功能
psvm main方法创建
Version Control面板
Local changes查看本地变更
已变更待暂存文件(Default)
未跟踪文件
Log查看提交日志
mainPanel开启注释
可根据每行的注释及git日期,查看具体差异等操作
使用合并