版本控制commit和update过程
很早就使用了git、后来还管了一个VSS,但长时间以来git和VSS基本都当ftp使用,顶多知道其有回退旧版本的功能,但对“版本控制”这个词一直以来都没领会其内含。
比如我一直担心两个问题,一是拉取下来后修改文件如果再次拉取已修改文件是否会被覆盖,二是两人拉取后对同一文件分别进行修改和提交那后提交的那个会不会覆盖前面提交的那个。
针对这两个问题,专门建了个仓库进行测试,汇总如下表。
| 自拉取后本地未修改、远程未修改 | 自拉取后本地未修改、远程已修改 | 自拉取后本地已修改、远程未修改 | 自拉取后本地已修改、远程已修改 | |
| commit | 不操作 | 不操作 | 本地代码提交到远程 | commit失败。提示本地不是最新版本需要update |
| update | 不操作 | 远程代码同步到本地 | 不操作 | update成功。但报冲突、冲突处理前无法commit |
commit----客户端本看修改文件----客户端上报修改文件及其版本----服务器查看上报版本是否为文件最新版本,是则接受不是则打回。
update----客户端提交所有文件版本----服务端返回所有非最新版文件的最新版----客户端查看返回的是否是本地已修改文件,是则记录冲突不是则覆盖。
版本控制commit和update过程的更多相关文章
- 由于物化视图定义为on commit导致update更新基表慢的解决方案
由于物化视图定义为on commit导致update更新基表慢的解决方案 以下是模拟和解决测试过程: (模拟update慢的过程) 1.首先基于基表创建物化视图日志: create materiali ...
- docker swarm:执行 service update 过程中服务短暂不能访问的问题
这是我们使用自建 docker swarm 集群后在部署时遇到的一个问题,使用 docker service update 命令更新服务时, docker service update -d=fals ...
- yum update过程中失败后再次执行出现“xxxx is a duplicate with xxxx”问题
问题现象: 解决办法: 利用yum-uitls中的工具package-cleanup指令,使用方法见下图,具体可通过man package-cleanup查询 列出重复的rpm包 pac ...
- 版本控制工具 - Git
版本控制工具 - Git 安装完成后,打开Git Bash,这是一个命令行工具,用于操作仓库和仓库的文件.你可以通过命令将已经存在的项目变成仓库,也可以重新创建一个新项目再通过命令将其变成仓库,还可以 ...
- 有关版本控制--SVN
什么是版本控制? 这个之前有记录过相关的内容 版本管理就是管理更新的历史记录, 它给我们提供了一些在软件开发过程中必不可少的功能,例如: 记录一款软件添加或更改源代码的过程 回滚到特定阶段,恢复误删除 ...
- HEXO版本控制与持续集成
主要解决了hexo发布文章的繁琐,以及本地资源丢失,更换电脑等情况的出现. 采用AppVeyor实现. 转自 https://formulahendry.github.io/2016/12/04/he ...
- 关于Oracle过程,函数的经典例子及解析
一,Oracle中的过程,函数 对于oracle中的过程和函数,个人觉得可以化为一类,因为它们在写法上并没有什么的不同.公式无非就是 create or replace Package_name(pa ...
- SVN版本控制安装配置说明
版本控制好工具有SVN.CVS.VSS等多种,他们的优劣在此不说明,请网络参阅. SVN支持多种平台,此文仅描述Windows平台下使用说明. SVN客户包含客户端和服务端.Windows平台下客户端 ...
- Oracle 高级查询、事物、过程及函数
一.Sql函数 1.数值函数(输入参数和返回值都是数值型,多数函数精确到38位) --多少次方 ,) from dual; --开方 ) from dual; --绝对值 ) from dual; - ...
随机推荐
- 第一个Python窗口
import tkinter def my_window(w, h): ws = root1.winfo_screenwidth(); hs = root1.winfo_screenheight(); ...
- quartz相关记录
1.http://www.quartz-scheduler.org/api/2.3.1-SNAPSHOT/ api地址 2.https://www.jianshu.com/p/3c3e166a7da1 ...
- CentOS7 下设置静态IP
1.更改虚拟机网络适配器 虚拟机-->设置-->网络适配器 网络连接选择NAT模式 2.设置虚拟网络编辑器 编辑-->虚拟网络编辑器 3.修改本地VMnet8IP 4.修改linu ...
- lnmp 系统500 报错
分析点: 1 文件目录权限不足 如果日志缓存目录没有写入权限 chmod -R 775 目录 2 lnmp 一键安装包 查看.user.ini ,其中open_basedir 不要设置到public ...
- python基础_格式化输出(%用法和format用法)
目录 %用法 format用法 %用法 1.整数的输出 %o —— oct 八进制%d —— dec 十进制%x —— hex 十六进制 1 >>> print('%o' % 2 ...
- ELK学习笔记之logstash安装logstash-filter-multiline(在线离线安装)
0x00 概述 ELK-logstash在搬运日志的时候会出现多行日志,普通的搬运会造成保存到ES中单条单条,很丑,而且不方便读取,logstash-filter-multiline可以解决该问题 g ...
- centos7 升级内核
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-rel ...
- MVC模式和Django中的MVT模式
MVC模式:是一种程序设计模式,其核心思想是分工.解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容. MVC:Model-View-Control M:主要封装对数据库层的 ...
- 【做题】SRM704 Div1 Median - ModEquation——数论
原文链接 https://www.cnblogs.com/cly-none/p/SRM704Div1B.html 给出\(n\)和模数\(P\).\(q\)次询问,每次给出一个\([0,P-1]\)范 ...
- CentOS7攻克日记(一) —— 安装ISO
因为工作需要,开发环境需要装在centos7上面,这对用惯了ubuntu 这种Debian系的我,此刻只想说一句MMP 自从刚开始弄到现在VM里面已经躺了一堆的Centos7的尸体了,这次从头初始 ...