Git|Git 合并、分支、提交
分支相关介绍 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|Git 合并、分支、提交】 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
git tag 查看tag列表
git show
git tag -a
git push origin
git push origin –
tags 推送全部tag到远程库
git tag –
d
删除远程库标签很麻烦,具体请自行百度.
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日期,查看具体差异等操作
文章图片
使用合并
文章图片
推荐阅读
- 一个人的碎碎念
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- Shell-Bash变量与运算符
- 清明,是追思、是传承、是感恩。
- 牛人进化+|牛人进化+ 按自己的意愿过一生
- 七老修复好敏感、角质层薄、红血丝
- 华为旁!大社区、地铁新盘,佳兆业城市广场五期!
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 螃蟹和这些食物同吃,轻则腹泻、重则中毒!要小心哦~
- 八、「料理风云」