学习Git的基本业务逻辑
1,基本业务逻辑(假设针对index.html文件中内容):
1,在init版本库之前已写好开头部分:index
对index进行git init版本库: 进入到文件夹中,git init
git add . ===》 git commit -m “v1”
2,修改index.html中的内容,增加news
git add . ===》 git commit -m “v2”
3,修改index.html中的内容,增加blogs
git add . ===》 git commit -m “v3”
4,发生事件:blogs功能需要取消
git reset --hard <版本号>
5,经过协调,blogs功能可以重新上线
git reflog ===》 git reset --hard <版本号>
6,为了开发一个商城功能,开始分支
git branch dev1
7,切换分支到dev1
git checkout dev1
8,开发到中途,完成50%,紧急需要修复blogs功能的bug
在dev1分支上add和commit
git checkout master ===》git branch master-bug1
9,切换到master-bug1分支上修改
修改后add和commit
10,切换到master主分支上,将master-bug1合并
git merge master-bug1
11,切换到dev1分支上,继续开发;开发完后与主分支合并
切换到主分支 ===》 git merge dev1
12,产生冲突(两支分支的父节点要一样。不然就会出现冲突)
手动打开黄色感叹号的文件手动修改
<<<<<<<到=======是在当前分支合并之前的文件内容
=======到>>>>>>>是其他分支的代码内容
需要删除其中一个版本,符号也要一并删除
然后add和commit
13,解决完成后,没问题了之后,就可以删除master-bug1分支
git branch -d master-bug1
14,如果回到家里如何将项目同步过来了,使用github.com仓库来实现
1,注册github.com用户名和邮件
15,在github.com上新建空仓库,如果项目已经做了一部分,就创建空目录;如果不是空仓库,先clone在合并
16,在本地目录中对仓库地址增加别名
git remote add origin github仓库地址
17,在把本地目录中的项目推上github.com仓库
git push -u origin 分支
18,在另一台电脑上(安装好git),克隆下来(会克隆所有的分支)
git clone 远程版本库地址
19,rebase
1,第一种情况:只在同一分支上。
git rebase -i HEAD~3 (表示从HEAD开始前3条记录合并)
2,第二种情况:合并记录时,有不同分支,将该分支强插入另一分支
分别在master和dev分支上commit文件
在dev分支上进行rebase : git rebase master
然后切回master分支:git merge dev
3,第三种情况:在公司开发了v1代码,但是没有push到云仓库,在家里push了v2代码,再在公司pull v2代码时会产生分叉,要解决这种分叉:
git fetch origin dev
git rebase origin/dev
注意:如果产生冲突,那么就需要解决冲突,然后git add xxx ,但是不能执行commit(之前没意识到这个错误,导致出现一些列问题),而是按照提示直接执行git rebase --continue
20,beyond compare工具的使用
1,安装
2,使用git命令进行配置,使它能用git命令启动起来
21,多人协同
1,主分支master——生产环境
2,test分支——测试环境
3,dev分支——开发环境
4,每个开发人员都有各自的分支——pdev
5,每个独立功能狗友各自的分支——fdev
22,在github上创建organization
23,git tag -a v1 -m "第一版"
git push --tags
24,在github上查看权限和查看项目的权限,以及邀请其他开发者上来开发,加入到组织中
第25集
25,git checkout -b dev
git push origin dev
26,让其他开发者通过clone链接clone,然后对dev分支进行创建新分支dev1分支,并进行开发。
27,code review
1,
学习Git的基本业务逻辑的更多相关文章
- [Prodinner项目]学习分享_第三部分_Service层(业务逻辑层)
前两节讲到怎样生成一个Model和怎样将Model映射到数据库,这一节将讲到业务逻辑层,也就是Service层. 1.Prodinner架构已经构建好的,基本的增删改查. 假设,我现在想操作第二节中讲 ...
- Beego 学习笔记三:Beego业务逻辑
1> 打开main.go文件,查看代码 点击快捷键F12,进入beego.go文件,查看代码 2> 打开router.go文件,查看路由 3> 打开defau ...
- 从零开始,搭建博客系统MVC5+EF6搭建框架(1),EF Code frist、实现泛型数据仓储以及业务逻辑
前言 从上篇30岁找份程序员的工作(伪程序员的独白),文章开始,我说过我要用我自学的技术,来搭建一个博客系统,也希望大家给点意见,另外我很感谢博客园的各位朋友们,对我那篇算是自我阶段总结文章 ...
- 问题(bug)确实不在代码逻辑上面,往往是配置、权限或者业务逻辑之外的地方(转)
不能说所有的bug都是纸老虎,但往往那种看似很奇葩的bug,导致的原因确实很简单,烦了你一段时间,找到真相又让你忍不住一笑.什么是奇葩的bug呢.我的定义是:代码逻辑都一样,但在A处是好的,到了B处就 ...
- Odoo 12 开发手册指南(八)—— 业务逻辑 – 业务流程的支持
在前面的文章中,我们学习了模型层.如何创建应用数据结构以及如何使用 ORM API 来存储查看数据.本文中我们将利用前面所学的模型和记录集知识实现应用中常用的业务逻辑模式. 本文的主要内容有: 以文件 ...
- 一步一步实现web程序信息管理系统之三----登陆业务逻辑实现(验证码功能+参数获取)
本篇紧接着上一篇文章[一步一步实现web程序信息管理系统之二----后台框架实现跳转登陆页面] 验证码功能 一般验证码功能实现方式为,前端界面访问一个url请求,后端服务代码生成一个图片流返回至浏览器 ...
- iOS开发---业务逻辑
iOS开发---业务逻辑 1. 业务逻辑 iOS的app开发的最终目的是要让用户使用, 用户使用app完成自己的事就是业务逻辑, 业务逻辑的是最显眼开发工作.但是业务逻辑对于开发任务来说, 只是露 ...
- 第八章 Odoo 12开发之业务逻辑 - 业务流程的支持
在前面的文章中,我们学习了模型层.如何创建应用数据结构以及如何使用 ORM API 来存储查看数据.本文中我们将利用前面所学的模型和记录集知识实现应用中常用的业务逻辑模式. 本文的主要内容有: 以文件 ...
- Netty耗时的业务逻辑应该写在哪儿,有什么注意事项?
更多技术分享可关注我 前言 Netty以高性能著称,但是在实际使用中,不可避免会遇到耗时的业务逻辑,那么这些耗时操作应该写在哪儿呢,有什么注意的坑吗?本篇文章将一一总结. Netty线程调度模型回顾 ...
随机推荐
- Druid数据库连接池基本使用
一.导入Druid的jar包和数据库驱动jar包 二.定义配置文件 与c3p0不同,Druid的配置文件是properties形式的.而且Druid不像c3p0那样可以自动加载配置文件,Druid需要 ...
- 4.3CNN卷积神经网络最详细最容易理解--tensorflow源码MLP对比
自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取: https://www.cnblogs.com/bclshuai/p/11380657.html 1.1 CNN卷积神经网络 ...
- IDEA2020.2版本设置类和方法的自定义注释模板
IDEA是目前普遍使用的Java开发编辑器,添加自定义的注释模板,一方面便捷好用,另外一方面可以规范开发.IDEA中设置模板分两种:1.创建Java类的注释,2.方法的注释. 一.Java类的注释模板 ...
- 『心善渊』Selenium3.0基础 — 3、使用Selenium操作浏览器对象的基础API
目录 1.导入Selenium库 2.创建浏览器对象 3.浏览器窗口大小设置 4.浏览器位置设置 5.请求访问网址 6.浏览器页面前进.后退和刷新 7.关闭浏览器 相比于高大上的各种Selenium进 ...
- ClickHouse学习系列之四【副本&分片部署说明】
背景 以前介绍过ClickHouse相关的系列文章,现在继续说明.本文开始说明ClickHouse的副本与分片,和其他数据库一样,ClickHouse也会出现单节点故障和单节点资源到达上限的情况.所以 ...
- Spring WebFlux 教程:如何构建反应式 Web 应用程序
Spring WebFlux 教程:如何构建反应式 Web 应用程序 反应式系统提供了我们在高数据流世界中所需的无与伦比的响应能力和可扩展性.然而,反应式系统需要经过专门培训的工具和开发人员来实现这些 ...
- OO unit2 summary
Unit2 一.第一次作业 1.UML 2.Sequence Diagram 3.同步块设置与锁处理 采用了生产者-消费者模式,用共享对象来连接不同的线程. 第一次作业中,我有三个线程:Receive ...
- javascript之强制类型转换
在javascript中,常会发生强制类型转换的情况有以下几种 字符串拼接 var a = 1; var b = a + '1'; console.log(b); //11 ==运算符 var a = ...
- Windows10上开启WSL2(Windows Subsystem for Linux 2)及Docker Desktop For Windows
什么是WSL2 WSL2(Windows Subsystem for Linux 2)是适用于Linux的Windows子系统体系结构的一个新版本,它支持适用于Linux的Windows子系统在Win ...
- 垃圾处理器-CMS
一.简介 CMS垃圾收集器是一款用于老年代的,使用复制-清除-整理算法的垃圾收集器. 二.GC阶段 1.初始化标记(STW) 暂停应用程序线程,遍历 GC ROOTS 直接可达的对象并将其压入标记栈( ...