首页 > 其他分享 >1、Git简介

1、Git简介

时间:2024-01-27 23:44:57浏览次数:34  
标签:文件 版本控制 简介 代码 Git 版本 客户端

1.1、概述

Git 是一个开源免费的分布式版本控制系统,用于快速高效地管理各种小型或大型项目的代码。

Git 不仅容易学习、占用空间小,而且性能快如闪电。

Git 具有廉价的本地分支、方便的暂存区域和多个工作流等功能。

Git 超越了 Subversion、CVS、Perforce 和 ClearCase 等 SCM (Software Configuration Management软件配置管理)工具。

1.2、版本控制的意义

一般情况下,一份文件,无论是DOC办公文档,还是编程源码文件,我们都可能会对文件进行大量的修改变更。

我们无法保证每一次的修改变更都是正确并且是有效的,因此有时候需要追溯历史操作记录。

版本控制(version control)是一种软件工程技术,能够记录我们对文件和目录等内容的修改历史,除了可以方便查看历史操作记录之外,还能利用历史备份恢复到以前的版本。

1.3、版本控制的类型

1.3.1、集中式版本控制

诸如 VSS、CVS、SVN 等集中式版本控制系统(Centralized Version Control Systems,简称 CVCS),都有一个单一的集中管理的服务器,用于保存所有文件修改变更的历史版本。

协同工作的人们都可以通过客户端连到这台服务器,取出最新的文件或者提交更新。

集中式版本控制的缺点是客户端获取的只是最新版本的文件快照,整个项目的历史记录被保存在单一位置,会有丢失所有历史更新记录的风险。

image

1.3.2、分布式版本控制

诸如 Git、Mercurial 以及 Darcs 等分布式版本控制系统(Distributed Version Control System,简称 DVCS),客户端并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下来,包括完整的历史记录。

这样一来,任何一处的服务器发生故障,事后都可以用任何客户端的本地仓库来恢复。 因为客户端的每一次获取操作,实际上都是一次对代码仓库的完整备份。

image

1.4、发展历史

image

1.5、代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般简称为远程库。

目前,互联网上有两个十分知名的代码托管中心:GitHub(国外网站) 和 Gitee 码云(国内网站)。

如果不想将代码发布到互联网上,也可以使用 GitLab 在内网中搭建一个代码托管中心提供给内部人员使用。

1.6、工作机制

image

标签:文件,版本控制,简介,代码,Git,版本,客户端
From: https://www.cnblogs.com/Javaer1995/p/17949312

相关文章

  • 第一次通过 SSH key 免密连接 GitHub 的完整过程
    原文:https://ichochy.com/posts/blog/20221107.html通过密码连接GitHub总是要输入密码,麻烦,现在使用SSHkey可以轻松实现免密验证.创建SSHkey使用ssh-keygen命令打开终端输入命令ssh-keygen创建keyssh-keygen-ted25519-C"[email protected]"注意:将ichochy......
  • Git必知必会基础(12):远程冲突(conflicts)解决--merge
     演示场景虽然每次合并代码前会先把分支更新到最新,但是在你pull后到push前这段时间,可能其它小伙伴又push了,那么你的分支就不是最新的了在push的时候就会失败,比如遇到这种提示信息:Togitee.com:qzcsbj/pytest_apiautotest.git![rejected]master->master(fetchfirst)error:......
  • Git必知必会基础(16):git clone、git pull、git fetch、git push的区别
     gitclone没有本地仓库,将远端的整个项目下载到本地 gitpull本地已经有项目但不是最新(比如你的同事往远处仓库提交了代码),从远程获取最新版本并merge到本地,也就是将远程指定分支拉取到本地指定分支上命令格式:gitpull[远程仓库名][远程分支名]:[本地分支名]本地分支是当前分......
  • 无法访问Github仓库的极简治标法
    Github访问受限,是国内众多IP所经常面临的问题。这里我经过大量的踩坑之后,还是认为使用Gitee将Github的仓库直接同步过来,作为一个私有的镜像,是最便利高效的方法。当然,这个只能满足日常使用第三方库的需求,治标但不治本,对于那些仅仅只是想使用某些Github仓库代码的童鞋来说,也......
  • 无涯教程-Socket.IO - 简介
    Socket.IO是用于实时Web应用程序的JavaScript库。它支持Web客户端和服务器之间的实时双向通信。它包括两个部分:在浏览器中运行的客户端库和用于node.js的服务器端库,这两个组件具有相同的API。实时应用实时应用程序(RTA)是在用户感知为即时或当前的时段内运行的应用程序。实......
  • 程序员必备!10款实用便捷的Git可视化管理工具
    前言俗话说得好“工欲善其事,必先利其器”,合理的选择和使用可视化的管理工具可以降低技术入门和使用的门槛。我们在团队开发中统一某个开发工具的使用能够大大降低沟通成本,提高协作沟通效率。今天给大家分享10款实用便捷的Git可视化管理工具,注意排名不分先后希望能对各位小伙伴有......
  • gitlab修改 克隆地址(内网-外网)
    修改gitlab克隆地址1、打开gitlab我们看到的gitlab克隆地址  2、进入容器修改配置文件dockerexec-itgitlabbash   #进入容器 vim/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml  #修改配置文件host修改为gitlab服务器的IP地址 3、重启g......
  • 4、Git远程仓库
    4.1、常用的托管服务[远程仓库]前面我们已经知道了Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。gitHub(地址:https://github.com/)是一个面向开......
  • 3、Git安装与常用命令
    本教程里的git命令例子都是在GitBash中演示的,会用到一些基本的linux命令,在此为大家提前列举:ls/ll查看当前目录cat查看文件内容touch创建文件vivi编辑器(使用vi编辑器是为了方便展示效果,学员可以记事本、editPlus、notPad++等其它编辑器)3.1、Git环境配置3.1.1下......
  • priority_queue简介与用法(优先队列)
    priority_queue简介与用法 一、简介 1.概念priority_queue是C++标准库中的一个容器适配器(containeradapter),用于实现优先队列(priorityqueue)的数据结构。优先队列是一种特殊的队列,其中的元素按照一定的优先级进行排序,每次取出的元素都是优先级最高的。它的底层实现通常使......