黑豹程序员-架构师学习路线图-百科:Git/Gitee(版本控制)
文章目录
- 1、什么是版本控制
- 2、特点
- 3、发展历史
- 4、SVN和Git比较
- 5、Git
- 6、GitHub
- 7、Gitee(国产)
- 8、Git的基础命令
1、什么是版本控制
版本控制系统( Version Control )版本控制是一种管理和跟踪软件开发过程中的代码变化的系统。它允许开发人员在不同时间点对代码进行修改,并记录每次修改的细节。通过版本控制,开发团队可以轻松地协同工作,追踪代码的演变,并在需要时回滚到先前的版本。

2、特点
1、协同,不是自己的文件管理,通常以项目组为单位;
2、文件有一个统一的远程备份,项目组每个成员都可以把自己的文件上传远程服务器(push 推送);
3、代码改动,再次上传,不会覆盖(这就是版本控制的特色,和普通文件管理的不同),会在Git上产生一个新文件,和旧文件的区别就是版本不同;
4、本地文件丢失可以随时从Git仓库中下载(pull 拉取);
5、项目组其他人升级改动了代码,可以检出最新的版本(pull 拉取);
6、多人修改了通一个文件,如:项目的配置文件(merge 合并);
3、发展历史
第一代:自行管理,文件管理
第二代:集中式、多文件管理:VSS、CVS、SVN
第三代:分布式、多文件管理:GIT
微软出品:VSS(Visual Source Safe)开启了版本控制的先河;GIT将其发扬光大。
SVN(Subversion 的缩写)是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统。SVN 由 CollabNet 公司于 2000 年资助并发起开发,目的是创建一个更好用的版本控制系统以取代 CVS。
TortoiseSVN:开源软件,在 Windows 上非常受到欢迎的一套客户端软件,它与资源管理器集成得相当不错,可以透过资源管理器在文件或目录上用鼠标右键的菜单完成 SVN 的操作。
Git 是 Linux 作者 Linus 的另一个作品。2002 年他还在使用 Bitkeeper 作为 Linux 内核的版本管理,但因为它是 Copyright 有版权的软件备受质疑,然后 Andrew Tridgell 对 Bitkeeper 进行逆向工程,导致 BitMover 要回收 Linux 开发者的 Bitkeeper 的免费使用权,Linus 一怒之下花了 10 天写出了 Git。
GitHub 成立于 2008 年 4 月,至今成为当下最受欢迎的社交编程及代码托管平台。
2018年6月4日,GitHub被微软75亿美元收购。

4、SVN和Git比较
Git 和 SVN 是从设计理念上就不一样的版本工具,SVN 将代码进行中心化管理,拥有更好的稳定性和安全性,但是去中心化的 Git 却是从 Linux 操作系统的开发需求而来,更加适合多人协作的开源项目。

5、Git

Git 是 Linux 作者 Linus 的另一个作品。2002 年他还在使用 Bitkeeper 作为 Linux 内核的版本管理,但因为它是 Copyright 有版权的软件备受质疑,然后 Andrew Tridgell 对 Bitkeeper 进行逆向工程,导致 BitMover 要回收 Linux 开发者的 Bitkeeper 的免费使用权,Linus 一怒之下花了 10 天写出了 Git。
6、GitHub

GitHub于2008年4月10日正式上线,除了Git代码仓库托管及基本的Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。截止到2022-11-17,其注册用户已经超过9400万,托管版本数量也是非常之多,其中不乏知名开源项目Ruby on Rails、jQuery、python等。
7、Gitee(国产)

基于Git的代码托管服务
Gitee(码云)是开源中国于2013年推出的基于Git的代码托管平台、企业级研发效能平台,提供中国本土化的代码托管服务。
其每10分钟同步一次Git。
截止2023年7月,Gitee 已经有 1000万名注册用户和2500万个代码仓库,是中国境内规模最大的代码托管平台。
8、Git的基础命令

相关文章:
黑豹程序员-架构师学习路线图-百科:Git/Gitee(版本控制)
文章目录 1、什么是版本控制2、特点3、发展历史4、SVN和Git比较5、Git6、GitHub7、Gitee(国产)8、Git的基础命令 1、什么是版本控制 版本控制系统( Version Control )版本控制是一种管理和跟踪软件开发过程中的代码变化的系统。它…...
《Jetpack Compose从入门到实战》第一章 全新的 Android UI 框架
书籍源码 Compose官方文档 《Jetpack Compose从入门到实战》第一章 全新的 Android UI 框架 《Jetpack Compose从入门到实战》 第二章 了解常用UI组件 《Jetpack Compose从入门到实战》第三章 定制 UI 视图 《Jetpack Compose从入门到实战》第八章 Compose页面 导航 《Jet…...
基于Spring Boot的中小型医院网站的设计与实现
目录 前言 一、技术栈 二、系统功能介绍 前台首页界面 用户登录界面 用户注册界面 门诊信息详情界面 预约挂号界面 药品详情界面 体检报告界面 管理员登录界面 用户管理界面 医师管理界面 科室类型管理界面 门诊信息管理界面 药库信息管理界面 预约挂号管理界面…...
uniapp iOS离线打包——如何创建App并提交版本审核?
uniapp 如何创建App,并提交版本审核? 文章目录 uniapp 如何创建App,并提交版本审核?登录 appstoreconnect创建AppiOS 预览和截屏应用功能描述技术支持App 审核信息 App 信息内容版权年龄分级 价格与销售范围App 隐私提交审核 登录…...
论文笔记:Contrastive Trajectory Similarity Learning withDual-Feature Attention
ICDE 2023 1 intro 1.1 背景 轨迹相似性,可以分为两类 启发式度量 根据手工制定的规则,找到两条轨迹之间基于点的匹配学习式度量 通过计算轨迹嵌入之间的距离来预测相似性值上述两种度量的挑战: 无效性: 具有不同采样率或含有噪…...
整数和字符串比较的坑
结果竟然是相同,惊呆了吧? $num1 2023快放假了; $num2 2023;if ($num1 $num2) {echo 相同; } else {echo 不相同; }num2改成字符串类型,结果:不相同,又不懵了吧? $num1 2023快放假了; $num2 2023;if…...
LeetCode 面试题 08.04. 幂集
文章目录 一、题目二、C# 题解 一、题目 幂集。编写一种方法,返回某集合的所有子集。集合中不包含重复的元素。 说明: 解集不能包含重复的子集。 示例: 输入: nums [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1…...
【m_listCtrl !=NULL有多个运算符与操作数匹配】2023/9/21 上午11:03:44
2023/9/21 上午11:03:44 m_listCtrl !=NULL有多个运算符与操作数匹配 2023/9/21 上午11:04:00 如果您在编译或运行代码时遇到"M_listCtrl != NULL有多个运算符与操作数匹配"的错误提示,这通常是由于以下几个原因之一: 错误使用运算符:在条件判断语句中,应该使…...
Logrus 集成 color 库实现自定义日志颜色输出字符原理
问题背景 下列代码实现了使用 Logurs 日志框架输出日志时根据级别不同,使用对应的自定义颜色进行输出。那么思考下代码的逻辑是怎么实现的呢? 效果如下: 代码如下: import ("fmt""github.com/sirupsen/logrus&q…...
【Java-LangChain:使用 ChatGPT API 搭建系统-2】语言模型,提问范式与 Token
第二章 语言模型,提问范式与 Token 在本章中,我们将和您分享大型语言模型(LLM)的工作原理、训练方式以及分词器(tokenizer)等细节对 LLM 输出的影响。我们还将介绍 LLM 的提问范式(chat format…...
想要精通算法和SQL的成长之路 - 最长连续序列
想要精通算法和SQL的成长之路 - 最长连续序列 前言一. 最长连续序列1.1 并查集数据结构创建1.2 find 查找1.3 union 合并操作1.4 最终代码 前言 想要精通算法和SQL的成长之路 - 系列导航 并查集的运用 一. 最长连续序列 原题链接 这个题目,如何使用并查集是一个小难…...
UG NX二次开发(C#)- 制图(Draft)-工程图框选制图曲线并输出制图曲线的信息
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1、前言2、在UG NX中打开一个装配体模型3、进入工程制图模块,创建工程制图4、在VS中创建一个工程项目5、在Main()中添加选择的代码(UFun)6、在Main()中添加选择的代码(NXOpen)7、框选解决方案…...
1.7.C++项目:仿muduo库实现并发服务器之Poller模块的设计
项目完整在: 文章目录 一、Poller模块:描述符IO事件监控模块二、提供的功能三、实现思想(一)功能(二)意义(三)功能设计 四、封装思想五、代码(一)框架&#…...
Flutter笔记:build方法、构建上下文BuildContext解析
Flutter笔记 build 方法解析 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/133556333 本文主要介绍Flu…...
composer 安装和基本使用
php的包管理软件 如果没有安装php,参考这篇:添加链接描述 1.composer安装 composer官网 需要先安装好php,同时php -v输出有信息 cd /usr/localphp -r "copy(https://install.phpcomposer.com/installer, composer-setup.php);"…...
Ubuntu配置深度学习环境(TensorFlow和PyTorch)
文章目录 一、CUDA安装1.1 安装显卡驱动1.2 CUDA安装1.3 安装cuDNN 二、Anaconda安装三、安装TensorFlow和pyTorch3.1 安装pyTorch3.2 安装TensorFlow2 四、安装pyCharm4.1 pyCharm的安装4.2 关联anaconda的Python解释器 五、VScode配置anaconda的Python虚拟环境 前言ÿ…...
【产品经理】国内企业服务SAAS平台的生存与发展
SaaS在国外发展的比较成熟,甚至已经成为了主流,但在国内这几年才掀起热潮;企业服务SaaS平台在少部分行业发展较快,大部分行业在国内还处于起步、探索阶段;SaaS将如何再国内生存和发展? 在企业服务行业做了五…...
【vue 首屏加载优化】
Vue 首屏加载优化指的是通过一系列的技术手段,尽可能地缩短首屏(即页面中可见的部分)的加载时间,提高用户体验。 以下是一些常见的 Vue 首屏加载优化技巧: 使用 Vue SSR(服务端渲染)࿱…...
docker--redis容器部署及与SpringBoot整合-I
文章目录 1. 容器化部署docker2. 如何与SpringBoot集成2.1. 引入依赖2.2. 添加配置信息2.3. 测试类2.4. 内置的Spring Beansredis 主流客户端比较redissonlettucejedis参考1. 容器化部署docker 拉取镜像创建数据目录data 及 配置目录conf创建配置文件redis.conf启动redis容器进…...
力扣 -- 518. 零钱兑换 II(完全背包问题)
解题步骤: 参考代码: 未优化代码: class Solution { public:int change(int amount, vector<int>& coins) {int ncoins.size();//多开一行,多开一列vector<vector<int>> dp(n1,vector<int>(amount1…...
ReMe:为AI智能体构建长期记忆与上下文管理的开源框架
1. 项目概述与核心价值如果你正在构建或使用AI智能体(Agent),并且被“金鱼记忆”问题困扰——比如对话一长,模型就忘了开头说了什么;或者每次新会话都像初次见面,完全记不住用户偏好和历史任务——那么ReMe…...
增材制造如何破解光电子小批量定制化制造难题
1. 项目概述:一份被“雪藏”的产业复兴蓝图最近在整理行业资料时,我翻到了一篇2012年《EE Times》的老文章,标题叫《Seeing the light on optoelectronics manufacturing》。文章的核心观点很有意思,它批评了当时美国国家研究委员…...
在线图片处理工具源码, 多功能编辑格式转换HTML单文件版
概述 在数字化内容创作与网站运营的日常中,高效、便捷的图片处理能力是提升工作效率的关键。无论是为了优化网页加载速度而进行的图片压缩,还是为了满足特定设计需求的格式转换与尺寸调整,都离不开得力的工具支持。为此,幽络源源…...
AI圈内两大热词 Agent 和 Skill,一文彻底搞懂它们之间的区别与联系!
本文以餐厅经理和厨师的类比,解释了 Agent 和 Skill 的核心区别:Agent 拥有决策权,决定下一步做什么;Skill 则负责执行具体任务。文章指出,尽管在实际应用中两者界限逐渐模糊,但在构建 AI 系统时࿰…...
大模型推理优化:从 KV Cache 到长上下文加速
为什么大模型“读文件”会越来越慢 很多人在使用大模型时都会有一个明显感受: 普通聊天时回复很快;但一旦输入几十页文档、长代码仓库、长上下文 Prompt;模型往往会“思考很久”才吐出第一个字。 但奇怪的是: 一旦第一个 Token 出…...
开发者效率革命:用dotfiles打造可移植的个性化开发环境
1. 项目概述:dotfiles,开发者效率的基石 如果你在终端里敲命令时,总觉得默认的配置不够顺手,或者每次在新机器上都要花半天时间重新配置一遍开发环境,那“dotfiles”这个概念对你来说就是救星。jesuserro/dotfiles 这个…...
一滴血预警眼底病变!NFL 全程评估糖尿病视网膜病变
核心结论:本研究通过眼内液与血浆多组学联合分析,证实神经丝轻链(NFL)是可通过血浆微创检测、覆盖糖尿病视网膜病变全病程的保守生物标志物,能有效预测发病及糖尿病血管并发症风险。一、研究概况该研究发表于糖尿病领域…...
惠普OMEN游戏本终极性能优化指南:OmenSuperHub深度解析与实战应用
惠普OMEN游戏本终极性能优化指南:OmenSuperHub深度解析与实战应用 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub OmenSuperHub是一款专为惠普…...
利用Taotoken快速为不同编程语言生成AI调用示例
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken快速为不同编程语言生成AI调用示例 在构建现代应用时,全栈开发者常常需要在前端、后端、CLI工具等多个技术…...
基于MCP协议与AI的智能收据处理服务器:从OCR到结构化提取实战
1. 项目概述:一个专为收据处理而生的MCP服务器如果你经常需要处理各种格式的收据、发票或账单,无论是个人记账、公司报销,还是财务审计,那么你肯定对“数据录入”这个繁琐环节深恶痛绝。一张张纸质或电子收据,上面的关…...
