Git的基本操作与使用 | 青训营笔记

70 阅读2分钟

版本控制: 一种记录一个或若干文件内容变化,一边将来查阅特定版本修订情况的系统

更好的关注变更,了解到每个版本的改动是什么,方便对改动的代码进行检查,方便对改动的代码进行检查,预防事故的发生,也能够随时切换到不同的版本,回归误删误改的问题代码。

git是分布式版本控制,每个仓库都能记录版本历史

本地版本控制:

最初:通过本地复制文件夹,来完成版本控制,一般可以通过不同的文件来区分版本

解决方案:开发了一些本地的版本控制软件,最流行的是RSC

基本原理:本地保存所有变更的补丁集,可以理解成就是所有的Diff,通过这些补丁,我们可以计算出每个版本的实际的文件内容

缺点:之恶能在本地使用,无法团队协作,由此衍生出了集中式版本控制

集中版本控制:代表性工具:SVN

基本原理:1、提供一个远程服务来保存文件,所有用户的提交都提交到该服务器中

2、增量保存每次提交的Diff,如果提交的增量中和远端现存的文件存在冲突,则需要本地提前解决冲突

优点:

1、学习简单,更容易操作

2、支持二进制文件,对大文件支持更好

缺点:

1、本地不存储版本管理的概念,所有提交都只能联上服务器后才可以提交

2、分支上的支持不够好,对于大型项目团队合作比较困难

3、用户本地不保存所有的版本代码,如果服务端故障容易导致历史版本丢失

分布式版本控制:Git

基本原理:

1、每个库都存有完整的提交历史,可以直接在本地进行代码提交

2、每次提交记录都是完整的文件快照,而不是记录增量

3、通过Push等操作来完成和远端代码的同步

优点:

1、分布式开发,每个库都是完整的提交历史,支持本地提交,强调个体

2、分支管理功能强大,方便团队合作,多人协同开发

3、校验和机制保证完整性,一般只添加数据,很少执行删除操作,不容易导致代码丢失

缺点:

1、相对SVN更复杂,学习成本更高

2、对于大文件的支持不是特别好(git-lfs工具可以弥补这个功能)

Git的基本命令:

image-20220526222602874.png

fetch和push操作在不同源上:

image-20220518163807614.png

\