版本控制commit和update过程

很早就使用了git、后来还管了一个VSS,但长时间以来git和VSS基本都当ftp使用,顶多知道其有回退旧版本的功能,但对“版本控制”这个词一直以来都没领会其内含。git

好比我一直担忧两个问题,一是拉取下来后修改文件若是再次拉取已修改文件是否会被覆盖,二是两人拉取后对同一文件分别进行修改和提交那后提交的那个会不会覆盖前面提交的那个。服务器

针对这两个问题,专门建了个仓库进行测试,汇总以下表。测试

  自拉取后本地未修改、远程未修改 自拉取后本地未修改、远程已修改 自拉取后本地已修改、远程未修改 自拉取后本地已修改、远程已修改
commit 不操做 不操做 本地代码提交到远程 commit失败。提示本地不是最新版本须要update
update 不操做 远程代码同步到本地 不操做 update成功。但报冲突、冲突处理前没法commit

 

 

 

 

 

commit----客户端本看修改文件----客户端上报修改文件及其版本----服务器查看上报版本是否为文件最新版本,是则接受不是则打回。版本控制

update----客户端提交全部文件版本----服务端返回全部非最新版文件的最新版----客户端查看返回的是不是本地已修改文件,是则记录冲突不是则覆盖。同步

相关文章
相关标签/搜索