首页 > 其他分享 >Git简要笔记

Git简要笔记

时间:2023-04-26 12:44:21浏览次数:25  
标签:文件 简要 版本控制 用户 笔记 Git 版本 服务器 资源

git介绍:
git是一款SCM软件,用来管理源码文件,需求文档,设计文档,开发文档等项目文件

在团队开发中,通过SCM软件管理这些文件,而业界用的较多的是git,它支持多人协作同时开发,且不需要中央服务器,而是分布式的版本控制系统

git也是linus为了方便管理linux内核而开发的

基础概念:
1.版本控制概念,版本一般分为软件版本和文件版本
  软件版本一般用数字,即软件版本号表示
  文件版本一般用文件名,用来保存文件的历史记录,以及恢复数据

  而版本控制基础功能有
  1.保存和管理文件(自动生成版本文件)
  2.提供客户端工具访问(无法直接访问,直接访问可能出问题,需要使用客户端工具访问不同版本文件)
  3.不同版本文件的比对功能(筛选出不同版本文件的差异)

2.集中式版本控制

资源全放在中央服务器,想要资源,用户就得下载到本地,修改后又得上传

这样的版本控制有明显的缺点,用户同时下载的同一个版本文件,但是上传时间不一样,服务器的资源就会被覆盖为最后一个上传的资源,即文件冲突问题

而有些软件,如VSS,资源会被加上一把锁,在资源被下载后,资源就会被锁上,不允许其他用户下载(但是可以查看),直到原来被下载的资源的用户在上传,才会自动释放锁

如此就可以解决文件冲突问题,但是较为繁琐,且不能实现同时开发

而CVS,SVN也是类似的做法,但是它们做了约束,每一个用户只能修改资源的某一块区域,比如某一行,用户修改后可以直接提交,多个用户修改后,再把所有修改后的资源合并一下

但是如此仍然有缺点,比如多个用户对同一块区域,比如对同一行进行操作,如此就无法解决

 

以上所有做法都是集中式版本控制,一旦服务器寄了,所有用户就都无法使用资源了

3.分布式版本控制

类似集中式版本控制,仍然有中央服务器,但是却在本地复制一份资源库,如此服务器寄了,也可以继续写在本地服务器,服务器一旦恢复,就把本地和中央服务器进行同步

这样也有缺点,需要在本地复制一份中央服务器的资源,占用资源大,较为依赖网络

 

而git就是一种分布式版本控制系统

 

标签:文件,简要,版本控制,用户,笔记,Git,版本,服务器,资源
From: https://www.cnblogs.com/lxl-233/p/17328034.html

相关文章

  • gitlab
    公司是自建的gitlab的服务器,部署项目是集成到了自研的运维管理平台。之前拉取都是没有问题的,有一次另外的同事说,现在部署项目无法成功。排错过程根据报错信息排查,发现是gitclonegit@xxx:xx.git报错。之前是可以的,突然不行了,gitlab上面也可以查看到公钥。报错信息忘记保存了......
  • Qt+MySql开发笔记:Qt5.9.3的msvc2017x64版本编译MySql8.0.16版本驱动并Demo连接数据库
    前言  mysql驱动版本msvc2015x32版本调好,mysql的mingw32版本的驱动上一个版本编译并测试好,有些三方库最低支持vs2017,所以只能使用msvc2017x64,基于Qt5.9.3,于是本篇编译mysql驱动的msvc2017x64版本,满足当前的特定需求,这次过程有点费劲,可能是Qt的版本低于Qt5.12,继续无保留分享......
  • 英语笔记:第一天
    说了你又不听,听了你又信,信了你又不做,做了你又不做好,做好了你又不发扬听——》信——》做——》发扬语法知识第一天第一次课句子成分五个基本句型:主语+谓语(不及物动词)+状语Iworkeveryday我每天工作主语+be+表语+状语Iamhappynow我现在很快乐s......
  • 《深入理解计算机系统》第五章学习笔记 优化程序性能
    编写高效程序需要做到以下几点:第一,我们必须选择一组适当的算法和结构。第二,我们必须编写出编译器能够有效优化以转换成高效可执行代码的源代码。C语言的有些特性,例如执行指针运算和强制类型转换的能力,使得编译器很难对它进行优化。第三,针对处理运算量特别大的计算,将一个任务分成多......
  • Git-获取远程仓库到本地分支
    1、gitpull:获取最新代码到本地,自动合并到当前分支//查询当前远程的版本gitremote-v//直接拉取并合并最新代码gitpulloriginxxxx(远端分支名称)不推荐这种直接合并的方式,不能够提前处理冲突 2、gitfetch+merge:获取最新代码到本地,手动合并分支2.1、额外建立本......
  • 服务器上搭建git仓库
    服务器上搭建git仓库Liunx系统专栏收录该内容订阅专栏目录一、git安装和配置1、git安装2、git配置二、git仓库初始化1、创建仓库目录2、初始化git仓库三、git仓库的使用1、本地项目上传至服务器git仓库2、服务器git仓库拉取到本地3、第三方集成开发软件中如何实现......
  • 精神网络学习笔记
    本篇接上篇深度学习笔记喵~1.精神网络模型考虑到在之前的模型中,我们训练的模型的决策界限都可以轻易找到其表达式,相对来说较为简单,我们下面来看一个复杂的模型,精神网络。精神网络模型是通过模仿人的神经元的出的模型,即大脑中一般会分为多层神经元,第一层神经元负责接受一个输......
  • 动态规划笔记
    动态规划的原理从做题来看我认为动态规划就是将递归的过程反向,以此来避免反复使用递归的函数进行反复的压栈,弹栈同时避免访问很多已经计算过的分支。就比如f(a)=f(a-1)+f(a-2)这个递推式,假设我们最终想要知道f(n)的值,那么我们可以使用一个递归函数f参数是i,进行递归调用。这样当......
  • Unity性能优化课程学习笔记(Metaverse大衍神君)
    课程来源于:https://space.bilibili.com/1311706157 性能优化之道:      等待函数:  SSAO:  AA方案:  后处理: 渲染提前期优化culling,simplization,batchingCulling     Simplization:      Ba......
  • 白嫖GitHub Action实现开源项目CICD
    什么是CI/CD?让你的项目变得更加敏捷!在今天这个快速变化的时代,开发者们需要与时俱进,不断提升自己的工作效率。在这篇文章里,将一起探讨如何使用CI/CD和GithubAction让你的项目更加高效,快速响应市场变化。什么是CI?CI(持续集成,ContinuousIntegration)是一种软件开发实践,它要求开发......